14 подписчиков

Как используя php получить содержимое файла?

В данной статье речь пойдет об использовании функций php на различных примерах. Вы увидите как получить строку в переменную, как получить весь файл целиком, как получить 1й символ из файла используя функцию fgetc, как получить содержимое файл в виде массива где каждая новая строка будет элеметом массива. Использовать функции на примерах гораздо проще и эфективней чем придумывать свой костыль,когда он уже давно изобретен. Вы берете данный скрипт и подстраиваете его под себя и свои нужды.

Пример 1 с использованием функции fgets()

выводит содержимое строки длинной указанной 4096 байт количество байт можно указывать самостоятельно.

<?php
$handle = fopen("/tmp/luboyfile.txt", "r");
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
    echo $buffer;
}
fclose($handle);
?>

Пример 2 Пример использования функции fgetc()

данный пример читает первый символ из строки

<?php
$fp = fopen('luboyfile.txt', 'r');
if (!$fp) {
    echo 'Ошибка при открытии файла luboyfile.txt';
}
while (false !== ($char = fgetc($fp))) {
    echo "$char\n";
}
?>

Пример 3 fread -- Бинарно-безопасное чтение файла

Читает файл целиком и записывает все в переменную для последующей обработки но лучше за место етой функции использовать как в 4м примере проще да и быстрее будет работать

<?php
$filename = "c:\\files\\filic.gif";
$handle = fopen($filename, "rb");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>

Пример 4 file_get_contents -- Получить содержимое файла в виде одной строки

<?php
$filename = "filic.gif";
$handle = file_get_contents($filename);
?>

Пример 5 используя функцию file()

В переменню $handle запишутся в виде массива построчно, каждая строка будет новым элементом массива например первая строка в файле соответствует $handle[0] вторая $handle[1] и так далее

<?php
$filename = "filic.gif";
$handle = file($filename);
?>