(PHP 4, PHP 5)
fread — Двоично-безопасно изчитане на файл
fread() изчита до length символа, започвайки от файловия указател, указан чрез handle . Четенето спира при случването на едно от следните събития:
Указателен файлов ресурс, който обикновено се създава посредством fopen().
Максимален брой на изчетените байтове.
Връща изчетения нис или FALSE в случай на грешка.
Example #1 Прост пример за използване на fread()
<?php
// изчита съдържанието на файл в нис
$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>
Example #2 Пример за двоично-сигурно използване на fread()
При операционни системи, където има разлика между двоични и текстови файлове (примерно Windows), файлът трябва да бъде отворен с 'b' режим при извикването на fopen().
<?php
$filename = "c:\\files\\somepic.gif";
$handle = fopen($filename, "rb");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>
Example #3 Пример за използване на fread() при четене на отдалечени ресурси
Когато се чете от мрежови потоци или тръби (pipes), примерно върнати при четенето на отдалечени файлове или от popen() и fsockopen(), четенето ще спре след като пакет стане наличен. Това означава, че ще трябва да събирате данните заедно в едно цяло, както е показано в долния пример.
<?php
// За PHP 5 и нагоре
$handle = fopen("http://www.example.com/", "rb");
$contents = stream_get_contents($handle);
fclose($handle);
?>
<?php
$handle = fopen("http://www.example.com/", "rb");
$contents = '';
while (!feof($handle)) {
$contents .= fread($handle, 8192);
}
fclose($handle);
?>
Забележка: Ако просто ви трябва да вземете съдържанието на файл в низ - използвайте file_get_contents(), която има много по-добра производителност спрямо горния код.
Забележка: Обърнете внимание, че fread() чете от текущата позиция на указателя за файла. Използвайте ftell(), за да разберете текущата позиция и rewind(), за да върнете указателя в началото на файла.