API15

JFile/read

From Joomla! Documentation

< API15:JFile
Revision as of 11:52, 12 May 2013 by JoomlaWikiBot (talk | contribs) (removing red link to edit, no existant pages)

The "API15" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.

Description[edit]

Read the contents of a file

[<! removed edit link to red link >]

<! removed transcluded page call, red link never existed >

Syntax[edit]

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[edit]

mixed Returns file contents or boolean False if failed

Defined in[edit]

libraries/joomla/filesystem/file.php

Importing[edit]

jimport( 'joomla.filesystem.file' );

Source Body[edit]

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;
}

[<! removed edit link to red link >] <! removed transcluded page call, red link never existed >

Examples[edit]

<CodeExamplesForm />