PHP чтение из файла и как его реализовать полегче

PHP чтение из файла и как его реализовать полегче

От автора: сегодня разберемся, как происходит в PHP чтение из файла. Начнем с легких скриптов и закончим реализацией более сложных. Стартуем!

Полегче

Начнем с рассмотрения функции file_get_contents(). Она «запихивает» содержимое файла в один ряд. Вот так:

<?php
$content=file_get_contents('1.txt');
echo $content;
?>

PHP чтение из файла и как его реализовать полегче

Теперь постараемся реализовать построчное извлечение информации, а не «гурьбой». Для этого применим file(). Данная функция возвращает array строк. Ну, а с массивами (я надеюсь) мы разберемся:

<?php
$content=file('1.txt');
print_r ($content);
?>

PHP чтение из файла и как его реализовать полегче

Фреймворк YII2. Быстрая разработка с современным PHP фреймворком

Узнай тонкости современной веб-разработки с помощью фреймворка YII2

Узнать подробнее

Что-то построчно «вынуть» контент пока не получается. А мы сейчас «ударим» по массиву циклом foreach и array разобьется на нужные «осколки».

<?php
$content=file('1.txt');
foreach($content as $str1) {
 echo $str1."<br />";
}

?>

PHP чтение из файла и как его реализовать полегче

Так смотрится намного изящнее.

Посложнее

Начинаем потихоньку «окунаться». Тут главное не начать «зарываться», а то можно застрять надолго. В предыдущих примерах мы только то и делали, что извлекали, извлекали и еще раз извлекали. А если работать с записью нужно? Вооружаемся примером:

<?php
$content='1.txt';
$next_str = file_get_contents($content);
$next_str.= "четвертая строка";
file_put_contents($content, $next_str);

foreach(file($content,FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES)as $str1) {
 echo $str1."<br />";
}

?>

PHP чтение из файла и как его реализовать полегче

Обратите внимание, что мы не только впихнули текст, но и вывели его из файла 1.txt.Также для того, чтобы строка нормально выводилась, я использовал дополнительные флаги. Но они работают только при чтении одной строки. Дальше все опять начнет лепиться в один ряд. Для решения этой проблемы нужно применять функции из семейства fopen(), переставлять курсор и т.д. Все мы уже проходили. Так что сами :) .

Что касается извлечения данных из exel форматов, то тут придется воспользоваться сторонней библиотекой. Но это уже из другого фильма!

Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Курс по программированию на языке PHP

Изучите PHP с нуля до результата!

Смотреть курс

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Комментарии (1)

  1. Виктор

    Функция file читает файл и помещает его содержимое в массив, тем самым расходуя память на содержание массива. Если файл будет «большим» или «огромным» может просто не хватить памяти для обработки файла. Для перебора «больших» файлов лучше всего использовать генераторы. Пример кода ниже:

    function getLines($file) {
    $f = fopen($file, ‘r’);
    try {
    while ($line = fgets($f)) {
    yield $line;
    }
    } finally {
    fclose($f);
    }
    }

    foreach (getLines(«file.txt») as $n => $line) {
    echo $line . »;
    }

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree