Не буду вас мучить долгим вступлением, а перейду сразу к делу.
Как проверить, существует ли файл на 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
Похожие статьи
Популярные статьи:
-
Как узнать id компьютера
Дата: 29 марта 2013
Прокомментировано:90
просмотров: 330341 -
Размеры форматов листов А0 – А7
Дата: 23 января 2013
Прокомментировано:3
просмотров: 274700 -
Смешные логические загадки с подвохом, отгадки прилагаются
Дата: 12 ноября 2014
Прокомментировано:5
просмотров: 222515 -
Готовые макеты блоков для веб-страниц на HTML и CSS
Дата: 25 июня 2014
Прокомментировано:23
просмотров: 187679 -
Установка windows 7 на ноутбук
Дата: 18 декабря 2012
Прокомментировано:169
просмотров: 186563
Почему после 2015 года не выходило больше не одной статьи. Курс закончен? Совсем?
Нет, Даниил, курс не закончен. Я обязательно продолжу, так как много в PHP есть интересных фишек.
Курс продолжу примерно через месяц.
Обещаю уроками не разочаровать!
Степан привет!
Зашел на твой сайт по рубрике Bootstrap уроки, а задержался часа на два, оставил сообщение на статью жены, даже подписался на обновления сайта. Вижу ты человек занятый, а планов громадьё (Маяковский =Я планов наших люблю громадье=). Самому тебе воплотить планы будет сложновато, сообщений, похожих на коммент Даниила, будет все больше. Может настать момент, когда вместо написания очередной полезной читателям статьи будешь “разгребать и модерировать” сообщенческую массу. Результат – уже PHP-7, а у тебя одна статья.
Давай пообщаемся в скайпе.
Могу тебе дать 591 страницу (HTML-формат, русский яз.) книги Шлосснейгла Advanced PHP Programming (A practical guide to developing large-scale Web sites and applications with PHP5). Это будет хорошим продолжением твоих 18 страниц по теме. Она в сети в djvu формате, неудобно, код приходится долго писать. Я с ней намучился когда распознавал и редактировал (в свое время)
Да, в какой программе ты 3d-модели делаешь? Я в 3DsMax, Maya, Blender, ZBrush
Спасибо, Сергей за комментарий и за предложение!
3d-модели делаю в 3D-Max.