Actions

API15

JFile/read

From Joomla! Documentation

< API15:JFile
Revision as of 17:12, 22 March 2010 by Doxiki (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Replacement filing cabinet.png
This Namespace has been archived - Please Do Not Edit or Create Pages in this namespace. Pages contain information for a Joomla! version which is no longer supported. It exists only as a historical reference, will not be improved and its content may be incomplete.

Contents

Description

Read the contents of a file

[Edit Descripton]

Description:JFile/read

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)
{
        // Initialize 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;
}

[Edit See Also] SeeAlso:JFile/read

Examples

<CodeExamplesForm />