Работа с файлами PHP (продолжение). Урок 18

Опубликовано: 01.09.2018

Не буду вас мучить долгим вступлением, а перейду сразу к делу.

Как проверить, существует ли файл на PHP.

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

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

- название файла – здесь понятно, пишем название и расширение файла, который нужно проверить.

Пример для заполнения вот такой:

file_exists("file.txt")

или так

file_exists($name)

Вот готовый код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Работа с файлами PHP на BlogGood.ru</title> </head> <body> <?php if (file_exists("file.txt")) { echo "Файл существует"; } else { echo "Файл не существует"; } ?> </body> </html>

Если файл «file.txt» присутствует, вы увидите в браузере строчку « Файл существует », если файла нет, тогда увидите строчку « Файл не существует ». Вы обратили внимание, что мы здесь использовали конструкцию if-else ?

Как узнать размер файла с помощью PHP

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

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

- название файла – здесь понятно, пишем название и расширение файла, который нужно проверить.

Пример для заполнения вот такой:

filesize("file.txt")

или такой

filesize($name)

Вот готовый код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Работа с файлами PHP на BlogGood.ru</title> </head> <body> <?php $bloggood = "file.txt"; if (file_exists($bloggood)) { echo "Размер файла $bloggood: ".filesize($bloggood)." байт"; } else { echo "Файл не существует"; } ?> </body> </html>

В результате в браузере вы увидите надпись « Размер файла file.txt: 37 байт ».

Как создать временный файл на PHP и сделать в файле запись?

Создание временного файла с помощью функции tmpfile() :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Работа с файлами PHP на BlogGood.ru</title> </head> <body> <?php $bloggood = tmpfile(); fwrite($bloggood, "Эта строка записывается во временный файл."); // Записываем во временный файл fseek($bloggood, 0); // Устанавливаем указатель файла echo fread($bloggood, 1024); // выводим содержимое файла ?> </body> </html>

В строке №10 вместо текста « Эта строка записывается во временный файл » пропишите свой текст или пропишите переменную $text . Тогда код будет выглядеть вот так:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Работа с файлами PHP на BlogGood.ru</title> </head> <body> <?php $text = "Эта строка записывается во временный файл"; $bloggood = tmpfile(); fwrite($bloggood, $text); // Записываем во временный файл fseek($bloggood, 0); // Устанавливаем указатель файла echo fread($bloggood, 1024); // выводим содержимое файла ?> </body> </html>

В строке №10 вместо текста « Эта строка записывается во временный файл » можете прописать свой текст.

В результате в браузере вы увидите надпись « Эта строка записывается во временный файл ».

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

Вам необходимо определить количество строк в файле? Для этого используйте функцию count()

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

- название файла – здесь понятно, пишем название и расширение файла, который нужно проверить.

Пример для заполнения вот такой:

count("file.txt")

или такой

count($name) <?php $bloggood = file("file.txt"); echo 'Количество строк в файле: '.count($bloggood); ?>

Готовый код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Работа с файлами PHP на BlogGood.ru</title> </head> <body> <?php $bloggood = file("file.txt"); echo 'Количество строк в файле: '.count($bloggood); ?> </body> </html>

В результате браузер покажет сообщение, что « Количество строк в файле: 5 ». Это значит, что в файле «file.txt» только 5  строк. У вас результат может быть другим 

Как вывести часть строки PHP?

Если вам нужно вывести только часть строки, воспользуйтесь вот таким кодом:

<?php $text="Привет, как дела? Рад, что вы зашли на блог BlogGood.ru"; /* читаем с нулевого символа до 10 и добавляем многоточие */ $result=substr("$text", 0, 10)."..."; print $result; ?>

В строке №2 пишите текст.

В строке №4 там, где у меня цифра « 10 », число символов, которое нужно вывести на экран. В это строке есть еще троеточие « », которое будет выводиться в конце текста.

В итоге вы увидите « Привет, ка... », вместо « Привет, как дела? Рад, что вы зашли на блог BlogGood.ru ».

Как вывести определенную строку из файла на PHP?

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

<?php // читаем файл в массив $fopen=file("bloggood-ru.txt"); // номер строки в php считает с 0, //т.е. данный скрипт выведет вторую строку) // вывод 2 строки echo "$fopen[1]"; ?>

В строке №7 укажите, какую строку нужно вывести, у меня на примере стоит цифра 1 , это значит, что на экране я увижу вторую строку, так как номер строки в php считает с 0 .

Готовый код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Работа с файлами PHP на BlogGood.ru</title> </head> <body> <?php // строка, которую будем записывать $text = "1 строка.Я рад видеть вас на блоге BlogGood.ru 2 строка. - BlogGood.ru 3 строка.Я рад видеть вас"; // открываем файл, если файл не существует, //делается попытка создать его $fp = fopen("bloggood-ru.txt", "w"); // записываем в файл текст fwrite($fp, $text); // закрываем файл fclose($fp); // читаем файл в массив $fopen=file("bloggood-ru.txt"); // номер строки в php считает с 0, //т.е. данный скрипт выведет вторую строку) // вывод 2 строки echo "$fopen[1]"; ?> </body> </html>

В результате в браузер вы увидите вот такое сообщение: « 2 строка. - BlogGood.ru ».

Как удалить определенную строку из файла на PHP?

Если вам необходимо удалить определенную строку из файла, тогда воспользуйтесь вот этой конструкцией:

$num_stroka = 1; //Удалим 2 строку из файла $file = file("bloggood-ru.txt"); // Считываем весь файл в массив for($i = 0; $i < sizeof($file); $i++) if($i == $num_stroka) unset($file[$i]); $fp = fopen("bloggood-ru.txt", "w"); fputs($fp, implode("", $file)); fclose($fp);

В строке №1  пишите какую строку нужно удалить. Но помните, что номер строки в php считает с 0 .

Готовый код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Работа с файлами PHP на BlogGood.ru</title> </head> <body> <?php // строка, которую будем записывать $text = "1 строка.Я рад видеть вас на блоге BlogGood.ru <br> 2 строка. - BlogGood.ru<br> 3 строка.Я рад видеть вас"; // открываем файл, если файл не существует, //делается попытка создать его $fp = fopen("bloggood-ru.txt", "w"); // записываем в файл текст fwrite($fp, $text); // закрываем файл fclose($fp); $num_stroka = 1; //Удалим 2 строку из файла $file = file("bloggood-ru.txt"); // Считываем весь файл в массив for($i = 0; $i < sizeof($file); $i++) if($i == $num_stroka) unset($file[$i]); $fp = fopen("bloggood-ru.txt", "w"); fputs($fp, implode("", $file)); fclose($fp); // выводим содержание файла на экран браузера readfile("bloggood-ru.txt"); ?> </body> </html>

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

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

3 строка. Я рад видеть вас

Как видите, 2-ой строки нет

Как очистить файл на PHP?

Если стоит задача очистить файл, используйте функцию ftruncate()

<?php $fp = fopen("file.txt", 'a'); //Открываем файл в режиме записи ftruncate($fp, 0) // очищаем файл ?>

Вот готовый код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Работа с файлами PHP на BlogGood.ru</title> </head> <body> <?php $fp = fopen("bloggood-ru.txt", 'a'); //Открываем файл в режиме записи ftruncate($fp, 0) // очищаем файл ?> </body> </html>

Если проверить файл « bloggood-ru.txt », вы увидите, что он пуст.

Как узнать дату последнего изменения и обращения файла на PHP?

Если вам необходимо узнать дату последнего изменения файла, используйте функцию filectime() .

Если нужно узнать дату последнего обращения к файлу, используйте функцию fileatime() .

<?php $filename = "bloggood-ru.txt"; if (file_exists($filename)) { echo "Последнее обращение: " . date("F d Y H:i:s.", fileatime($filename)); echo "Последнее изменение: " . date("F d Y H:i:s.", filectime($filename)); } ?>

Смотрите результат в браузере. Вам выдастся результат с последнего обращения и последнего изменения файла.

Вот, пожалуй, и все! Фух, закончили тему « Работа с текстом на PHP ». Жду вас на следующих уроках .

Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓

Последние новости категории:

Работа с файлами PHP: удаление, копирование, переименование файлов. Урок 17 (продолжение) Работа с файлами PHP: создание, открытие, отображение, запись, закрытие и удаление файлов. Урок 16 Функции List, Isset, Unset, Date, Count и Exit на PHP. Урок 15 Подключение сторонних файлов на PHP через Include или Require. Урок 14

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

Популярные статьи:

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

Метки: php , основы

rss