- Подробности
-
Категория: PHP. Файлы
Ловлю себя на мысли, что мне не приходилось считать строчки текста в файле, поэтому целевое назначение этого урока не могу предложить. Хотя конечно ситуации бывают разные.
И так логика нашей функции основывается на паре встроенных функций. В PHP есть встроенная функция, называется file(), которая принимает в качестве аргумента файл, ну или путь к файлу, и возвращает массив, элементами которого уже стоят разобрано по полочкам все строки файла (страницы). И так нам остаётся только применив ещё одну функцию PHP, с названием count(), подсчитать количество элементов массива. Займёмся написанием кода.
Листинг № 1 — Функция суммирует количество строк в файле.
<?php
function col_lines($path)
{
// проверяем существование файла
// если файл не найден выводится ошибка и прекращается работа всего скрипта
if(!file_exists($path))exit("Ошибка. Файл не найден!");
// считываем файл в массив
$file_arr = file($path);
// считаем кол-во элементов в массиве
$col_lines = count($file_arr);
// выводим результат работы функции
return $col_lines;
}
echo col_lines("index.php");
?>
Поясню как использовать функции и в частности рассматриваемую. Всё что начинается со слова function и до закрытия фигурной скобки это есть объявление функции, проще сказать мы её написали где-то, в каком -то отдельном файле, например файл function.php и сохранили в директории сайта, не важно где. То, что функция была написана и сохранена, это обстоятельство и даёт понять PHP интерпретатору, что появилась новая функция в составе PHP на этом сайте и теперь с ней нужно работать, так же, как и с уже встроенными.
Такой подход даёт гибкость и не загружает страницу повторением кода, т.е. нам не придётся каждый раз описывать эту функцию на каждой странице сайта, где нужно подсчитать кол-во строк. Так как PHP интерпретатору объявили один раз о существовании такой функции, теперь если на какой-то странице сайта нужно воспользоваться этой функцией, надо просто указать путь к файлу где она написана. Выглядеть это может так:
Листинг № 2 — Указываем путь к файлу с функциями.
<?php
// указываем путь до файла, где объявлены все пользовательские функции
include_once "./function/function.php";
?>
В примере выше, файл с объявленной функцией находится в директории function.
Путь конечно у всех разный может быть, но тем не менее, это всё что надо знать интерпретатору, для того чтобы использовать вашу вновь написанную функцию.
Теперь несколько слов, как собственно пользоваться самой функцией на страницах сайта. Здесь то же нет ничего проще. Пишите имя вновь созданной функции col_lines() и вписываете в круглые скобки путь к файлу (не забываем кавычки )). В листинге ниже пример, как это могло бы выглядеть.
Листинг № 3 — Использование функции на странице сайта.
<?php
// указываем путь до файла, где объявлены все пользовательские функции
include_once "./function/function.php";
// выводим на монитор результат работы функции
echo col_lines("index.php");
// сохраняем в переменную результат работы функции
$num = col_lines("index.php");
?>
Результат работы функции, в зависимости от поставленной задачи, можно сохранить в переменной или сразу вывести на монитор.