API16:JFile/read
From Joomla! Documentation
Description
Read the contents of a file
<! removed transcluded page call, red link never existed >
Syntax
read($filename, $incpath=false, $amount=0, $chunksize=8192, $offset=0)
Parameter Name | Default Value | Description |
---|---|---|
$filename | $filename The full file path | |
$incpath | false | $incpath Use include path |
$amount | 0 | $amount Amount of file to read |
$chunksize | 8192 | $chunksize Size of chunks to read |
$offset | 0 | $offset Offset of the file |
Returns
mixed Returns file contents or boolean False if failed
Defined in
libraries/joomla/filesystem/file.php
Importing
jimport( 'joomla.filesystem.file' );
Source Body
function read($filename, $incpath = false, $amount = 0, $chunksize = 8192, $offset = 0)
{
// Initialise variables.
$data = null;
if ($amount && $chunksize > $amount) { $chunksize = $amount; }
if (false === $fh = fopen($filename, 'rb', $incpath)) {
JError::raiseWarning(21, 'JFile::read: '.JText::_('Unable to open file') . ": '$filename'");
return false;
}
clearstatcache();
if ($offset) fseek($fh, $offset);
if ($fsize = @ filesize($filename)) {
if ($amount && $fsize > $amount) {
$data = fread($fh, $amount);
} else {
$data = fread($fh, $fsize);
}
} else {
$data = '';
$x = 0;
// While its:
// 1: Not the end of the file AND
// 2a: No Max Amount set OR
// 2b: The length of the data is less than the max amount we want
while (!feof($fh) && (!$amount || strlen($data) < $amount)) {
$data .= fread($fh, $chunksize);
}
}
fclose($fh);
return $data;
}
<! removed transcluded page call, red link never existed >
Examples
Code Examples