Сколько строк файле php

4.11. Определение количества строк в файле

Обычно файлы, с которыми приходится иметь дело Web-разработчикам, являются текстовыми. Такие файлы, как правило, обрабатываются построчно, и одной из распространенных для них является операция подсчета количества строк в файле. Самым простым решением проблемы будет разбивка содержимого файла на строки при помощи стандартной функции file() , которая принимает в качестве аргумента имя файла и возвращает массив, каждый элемент которого содержит отдельную строку файла. После этого для подсчета строк в файле остается только подсчитать количество элементов полученного массива (листинг 4.33). Листинг 4.33. Определение количества строк в файле ?> Решение, представленное в листинге 4.33, успешно работает в том случае, если размер текстового файла не превышает размера оперативной памяти, отводимой скрипту. В противном случае для подсчета количества строк в файле следует прибегать к файловому дескриптору (листинг 4.34). Листинг 4.34. Альтернативное решение

230 Глава 4

// Проверяем корректность открытия файла if(!$fd) return «невозможно открыть файл»; $count = 0; while(($line = fgets($fd)) !== false) $count++; // Возвращаем количество строк в файле return $count; > ?> Функция getlinecount() не загружает содержимое файла в оперативную память, а последовательно считывает строку за строкой. Поэтому в каждый момент времени объем, занимаемый скриптом, не критичен.

4.12. Случайный вывод из файла

Пусть имеется текстовый файл text.txt (листинг 4.35), и стоит задача вывести любую выбранную в случайном порядке строку. Листинг 4.35. Содержимое файла text.txt PHP С++ Java Ruby Python Perl JavaScript Visual Basic Fortran Pascal Assembler Lisp Haskell C# Для решения данной задачи необходимо использование функции rand() , которая имеет следующий синтаксис: rand([$min, $max]) Функция генерирует случайное целое число между двумя целочисленными параметрами $min и $max . Если необязательные параметры $min и $max не указаны, число будет расположено между 0 и значением RAND_MAX (равным 32 768). Скрипт, осуществляющий случайный вывод из файла, представлен в листинге 4.36.

Читайте также:  Radiobutton tkinter python 3 примеры

4.13. Сортировка содержимого текстового файла

Одной из распространенных задач при работе с текстовыми файлами является сортировка содержимого файла. Для тестирования сортировки подготовим вспомогательный скрипт, перемешивающий записи файла в случайном порядке. Для этого строки извлекаются при помощи функции file() , а затем перемешиваются при помощи функции shuffle() (листинг 4.37). Листинг 4.37. Перемешивание записей в файле ?> При помощи функции array_walk() и функции обратного вызова trim_array() каждый элемент промежуточного массива $lines пропускается через функцию trim() ,

232 Глава 4

которая удаляет возможные пробельные символы в начале и конце строки, в том числе и символы перевода строки. В результате работы скрипта из листинга 4.37 файл text.txt может выглядеть так, как это представлено в листинге 4.38. Листинг 4.38. Записи файла text.txt в случайном порядке C# Ruby Assembler Haskell Java Pascal JavaScript Python Visual Basic Perl PHP C++ Lisp Fortran Для сортировки полученного файла достаточно разбить его содержимое на строки при помощи функции file() и отсортировать полученный массив стандартной функцией sort() или rsort() , в прямом или обратном порядке (листинг 4.39). Листинг 4.39. Сортировка записей файла text.txt по индексу ?>

Источник

Как подсчитать количество строк в файле PHP?

Возможно, Вы уже столкнулись с задачей подсчёта общего количества строк в файле. Неважно, нужно подсчитать количество служебных записей в файле, узнать количество строк htaccess или записей txt-файла, хранящего в себе какие-либо данные. Указанные ниже способы решения подойдут для каждого случая.

Создадим функцию для подсчёта количество строк в файле PHP

Создаваемая функция будет использовать две встроенные:

1. file() в качестве аргумента принимает файл или путь к нему, а возвращает массив строк
2. count() подсчитывает количество элементов массива.

Теперь переходим к созданию файла с самой функцией. В корневой директории (вы можете на своё усмотрение выбрать другую) создаём отдельную папку include. В ней создадим файл будущей функции и назовём его functions.php. Далее вставляем в него указанный ниже код.

Код PHP (файл functions.php)

  
function lines($file)
<
// в начале ищем сам файл. Может быть, путь к нему был некорректно указан
if(!file_exists($file))exit("Файл не найден");

// рассмотрим файл как массив
$file_arr = file($file);

// подсчитываем количество строк в массиве
$lines = count($file_arr);

// вывод результата работы функции
return $lines;
>

echo lines("index.php"); // выводим число - количество строк в файле index.php

?>

Итак, файл с функцией готов. В корневой директории (папке) можем уже создать рабочий файл с любым названием (в примере его назвал example.php), а в нём данную функцию будем подключать следующим образом.

Код PHP (файл example.php)

  
// здесь указываем путь к файлу с функцией
include_once "include/functions.php"; // или "functions.php" если функция в той же папке, что и рабочий файл exemaple.php

// в переменную $count_lines сохраняем количество строк (число)
$count_lines = lines("index.php");

// выводим результат работы функции подсчёта строк
echo "Строк в файле: ".$count_lines;

?>

В результате отобразит примерно следующий текст

Строк в файле: 52
Можно рассмотреть пример короче без создания функции. В нём уже не будет никакой проверки на наличие файла

Код PHP (вставляете в любой файл php)

 $file = "file.txt"; // указываем сам файл и путь к нему 
$lines = count(file($file)); // высчитываем количество строк
echo "В файле $file количество строк $lines"; // отображаем результат
?>

В файле file.txt количество строк 20
Спасибо за внимание!

Источник

Сколько строк файле php

Пока я творю, я живу!
Блог посвящен: HTML, CSS, PHP, WordPress, Bootstrap

Главная » Основы PHP » Работа с файлами-3 (дополнительные функции и возможности). Основы PHP с нуля. Урок №21

Работа с файлами-3 (дополнительные функции и возможности). Основы PHP с нуля. Урок №21

Работа с файлами-3 (дополнительные функции и возможности). Основы PHP с нуля. Урок №21

Всем привет!
Продолжаем изучать основы PHP с нуля! В этом уроке я расскажу вам про дополнительные возможности по работе с файлами, а именно:
-проверить наличие файла;
-узнать размер файла;
-создать временный файл;

Проверить наличие файла на php.

Были у меня случаи, когда нужно было проверить кодом наличие файла.
Если и у вас есть необходимость проверить кодом наличие файла, воспользуйтесь функцией — file_exists().

file_exists("название файла")

На практике это будет выглядеть вот так:

Если файл « file.txt » существует, то на экране вы увидите сообщение « Файл существует »; если файла такого нет, тогда на экране появится противоположный текст « Файл не существует ».

Вы обратили внимание, что я использовал функцию file_exists() в конструкции if else?

Внимание: Может случиться так, что папка может иметь имя « file.txt » и скрипт воспримет, что файл существует, хотя это не файл, а папка. Поэтому лучше использовать функцию is_file() .

Узнать размер файла на php

Если нужно узнать размер файла, воспользуйтесь функцией filesize() :

На практике это будет выглядеть вот так:

В результате вы увидите на экране:

Размер файла file.txt — 96 байт

Создание временного файла, сделать в нем запись и вывести содержимое на экран.

Чтобы записать текст во временный файл, воспользуйтесь функцией tmpfile()

tmpfile() – Создаёт временный файл с уникальным именем, открывая его в режиме чтения и записи (w+).
fseek () – указатель положения в файле. Пример:

fread() – Бинарно-безопасное чтение файла. Пример:

1024 – Чтение останавливается при достижении 1024 байтов

В результате вы увидите на экране текст, записанный во временном файле:

Эта строка записывается во временный файл.

Вывести количество строк на экран

Если вам нужно определить количество строк в файле, воспользуйтесь функцией count() .

В результате вы увидите на экране вот такой текст:

Результат «1», так как в файле « file.txt » только одна строка.

Как вывести часть строки PHP?
Если вам нужно вывести только часть строки, воспользуйтесь функцией substr() :

substr("текст", начинающая_позиция, длина_текста);

Так как отсчет в тексте начался с « 4 » и длину текста я указал « 1 », то результат на экране будет:

Можно добавить в конце какие-то символы показывающие, что должно быть продолжение в тексте, например, троеточие (…) .

Как вывести определенную строку из файла на PHP?
Если вам нужно вывести определенную строку из файла на PHP, тогда воспользуйтесь вот такой конструкцией:

Если в файле « file.txt » содержится две строки, тогда на экране вы увидите вторую строку.

file() — Читает содержимое файла и помещает его в массив
$fopen[1] – если у вас возник вопрос, что это такое, тогда вам следует вернуться и повторить урок массивы php.

Полный пример с записью текста в файл:

В результате на экране вы увидите:

Как удалить определенную строку из файла на PHP?
Если вам нужно удалить любую строку в файле, воспользуйтесь вот такой конструкцией:

Давайте в примере создадим файл, сделаем там запись в три строки и потом удалим любую из строк и все это сделаем через код php:

 2 строка. - stepkinblog.ru 
3 строка. Я рад"; // открываем файл, если файл не существует, //делается попытка создать его $fp = fopen("stepkinblog-ru.txt", "w"); // записываем в файл текст fwrite($fp, $text); // закрываем файл fclose($fp); $num_stroka = 1; //Удалим 2 строку из файла $file = file("stepkinblog-ru.txt"); // Считываем весь файл в массив unset($file[$num_stroka]); //удаление 2 строки $fp = fopen("stepkinblog-ru.txt", "w"); fputs($fp, implode("", $file)); fclose($fp); // выводим содержание файла на экран браузера readfile("stepkinblog-ru.txt"); ?>
 2 строка. - stepkinblog.ru 
3 строка. Я рад"; // открываем файл, если файл не существует, //делается попытка создать его $fp = fopen("stepkinblog-ru.txt", "w"); // записываем в файл текст fwrite($fp, $text); // закрываем файл fclose($fp); $file = file("stepkinblog-ru.txt"); // Считываем весь файл в массив unset($file[1]); //удаление 2 строки $fp = fopen("stepkinblog-ru.txt", "w"); fputs($fp, implode("", $file)); fclose($fp); // выводим содержание файла на экран браузера readfile("stepkinblog-ru.txt"); ?>

В чем разница этих двух вариантов? Предлагаю поискать самостоятельно для лучшего изучения кода.
Итак, результат на экране будет таким:

1 строка. Я рад вас видеть на блоге stepkinblog.ru
3 строка. Я рад

Еще раз повторюсь, что отсчет начинается с нуля, то есть, если бы вы захотели удалить первую строку, то нужно было прописать в массиве « 0 »:

unset($file[0]); //удаление 1 строки
$num_stroka = 0; //Удалим 1 строку из файла $file = file("stepkinblog-ru.txt"); // Считываем весь файл в массив unset($file[$num_stroka]); //удаление 1 строки

Я думаю, всем ясно. Двигаемся дальше.

Как очистить файл на PHP?
Если вам нужно очистить всё содержимое файла, тогда воспользуйтесь функцией ftruncate().

ftruncate (дескриптор_файла, размер_файла)

— дескриптор_файла — это имя файл, который нужно очистить (файл должен быть открыт для записи « fopen() »);

— размер_файла – это размер файла, до которого он будет обрезан. Значение «0», файл будет полностью стертый.

В результате, если файл « stepkinblog-ru.txt » был чем-то заполнен, то после запуска скрипта файл будет пустым. Не верите? Проверьте. Откройте файл « stepkinblog-ru.txt ».

Как узнать дату последнего изменения на PHP?
Чтобы узнать дату последнего изменения файла, используйте функцию filemtime() .

В последний раз файл stepkinblog-ru.txt был изменен: February 11 2019 13:14:13.

На сегодня все!
Подписывайтесь на обновления блога stepkinblog.ru, если не хотите пропустить уроки по основам PHP!

Источник

Оцените статью