PHP вывод текстового файла

27-07-2010

В этом коротком уроке научимся считывать и выводить текстовые файлы. Существует несколько способов, позволяющих открыть файл и отобразить его содержимое, и каждый способ имеет свою область применения. Не обязательно знать все способы достаточно хорошо выучить один способ и придерживаться его. Что мы сейчас и попробуем
Сразу начнем с кода, вот он вообщем:

$file='textfile.txt';
$fobj=fopen($file,"r");
$text=fread($fobj, filesize($file));
echo("<h2><font color='blue'>Вывод текстового файла</font><h2>");
echo("<br>");
echo("<font size=3>");
echo($text);
echo("</font>");
fclose($fobj);

Теперь по порядку прокомментируем каждую строчку кода. В первой строке мы сохраняем в переменную адрес нашего текстового файла, здесь токо название потому что файл находится в той же директории что и PHP файл с кодом:

$file='textfile.txt';

На следующей строчке мы открываем файл функцией fopen(), функция имеет два основных параметра имя открываемого файла и способ его открытия. С первым параметром все ясно, а вот вторым параметром мы указываем букву которая определяет будете ли вы читать(r), писать(w) или добавлять данные в файл(a) указыанный в первом параметре. Так как мы не собираемся добавлять в наш файл ничего, просто откроем его для чтения:

$fobj=fopen($file,"r");

Далее мы считываем файл функцией fread(), он тоже требует два параметра первый дескриптор это у нас переменная $fobj, втрорым параметром передаем количество читаемых байтов. Выглядит это все так:

$text=fread($fobj, filesize($file));

Следующие несколько строчек мы просто пишем HTML код для вывода текста, хотя можно было прост вывести ну ладно:

echo("<h2><font color='blue'>Вывод текстового файла</font><h2>");
echo("<br>");
echo("<font size=3>");
echo($text);
echo("</font>");

Ну и последним шагом будет закрытие файла:

fclose($fobj);

Ну вот все пока.

nurik11.28.2010 06:11
Спасибо за статью, мне как новичку очень помогла. В данном примеру выводится на экран весь текстовый файл. У меня на сайте поисковые запросы юзеров сохранятся в текстовый файл. Хотел бы некаторые из них вывести на экран. между 100-ой и 200-ой строкой. Что слдеут жописать в Коде. Спасибо
Владимир12.13.2010 02:12
А как сделать, чтобы выводилось это на Datalife Engine??? Я вот хочу чтобы выводилась шутка или небольшой анекдот из текстового файла в верху страницы. Помогите, плиз!
    admin12.13.2010 06:12
    даже не знаю никогда с DLE не работал
mechta1.15.2011 10:01
Подскажите пожалуйста, как быть если надо получить текст из пяти текстовых файлов? Они находятся в той же папке где и пхп файл с кодом. В каждом файле всего одна строка с 5-тизначным числом. Так вот, как получить данные из этих файлов и понять, какое число к какому файлу относится? Надеюсь на вашу помощь, спасибо :)
    admin1.15.2011 10:01
    как нибудь так:
    $file = fopen("filename1.txt","r");
    $num1 = fread($file, filesize("filename1.txt"));
    fclose($file);
    
    $file = fopen("filename2.txt","r");
    $num2 = fread($file, filesize("filename2.txt"));
    fclose($file);
    
    $file = fopen("filename3.txt","r");
    $num3 = fread($file, filesize("filename3.txt"));
    fclose($file);
    
    ...
    
    ну и так пять раз, соответственно числа будет в переменных $num1, $num2 ... можно это все как нибудь через цикл сделать, ну так тоже нормально )
      mechta1.15.2011 11:01
      Спасибо за быстрый ответ. Но у меня появляется пустая страница :(
    admin1.16.2011 09:01
    ну числа в переменных хранятся, их еще вывести надо...
mechta1.16.2011 10:01
понятно... просто я в этом деле совсем зеленый, думал, что это уже готовый к употреблению код :)
Алексей6.1.2012 05:06
Подскажите пожалуйста. А как можно выводить из doc, docx, rtf,?
Dima4.26.2013 05:04
Меня тоже интересует как вывести текст из doc документов, если кто знает подскажите решение
Сергей10.27.2013 06:10
А не вариант использовать echo file_get_contents('file.txt');
Юрий12.12.2013 08:12
Добрый день. А как можно открыть файл который находится не в директории с сайтом , а на другом пк Допустим сайт будет на IP 12.345.67.890 а где сам файл он на 98.765.432.10 вот как можно будет открыть его. При всем этом он мне нужен чтобы заполнять информацию . То есть добавлять чтобы можно было !
    Юрий12.12.2013 09:12
    Отпишите пожалуйста в скайп. (Yura.lons) или на Email (aim.lons@live.ru)
ОСТАВИТЬ КОММЕНТАРИЙ