Files get content php

Функции для работы с файловой системой

mkdir — пытается создать папку по указанному пути.

rmdir — удаляет папку по указанному пути.

unlink — удаляет файл по указанному в параметре пути.

copy

copy — эта функция берет уже существующий файл и копирует его по новому адресу.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Она принимает два обязательных параметра:
— путь к исходному файлу
— путь, куда мы хотим сохранить этот файл.

Создадим в нашей папке с уроком файл index.php и текстовый файл test.txt и создадим папку, которую назовем folder.

С помощью функции copy скопируем файл test.txt в папку folder.
где:
‘test.txt’ — путь к файлу, который мы хотим копировать (первый параметр)- в нашем случае он находится в этой же папке, где находится индексный файл index.php.
folder/ — куда будем копировать
file.txt — под каким именем будем копировать (можно задавать любое имя).

Запустим браузер и обновим страницу — в папке folder появился текстовый документ file.txt с тем же содержимым, что и в test.txt.

file_exists

file_exists — проверяет наличие папки или файла. Возвращает TRUE , если файл или папка существует, иначе возвращает FALSE .
Параметром принимает путь к файлу или каталогу , в нашем случае — folder/file.txt
— если файл folder/file.txt существует, то выведем: ‘Файл существует’ ,
— иначе выведем: ‘Такого файла нет’ .

if ( file_exists ( ‘folder/file.txt’ )) echo ‘Файл существует’ ;
else echo ‘Такого файла нет’ ;
?>
— после обновления страницы увидим: Файл существует

Если поменяем значение, например folder/file2.txt , то выведет: Такого файла нет .
Если укажем folder , то выведет: Файл существует .

file_get_contents

file_get_contents — позволяет прочитать содержимое файла

В переменную $file считываем с помощью функции file_get_contents содержимое файла test.txt
В качестве параметра передаем путь к файлу ( ‘test.txt’ ). Переменную $file сразу выведем на экран.

Допишем файл test.txt:

Это файл test.txt
строка 2
строка 3
строка 4
строка 5

echo $file = file_get_contents ( ‘test.txt’ );

// для многострочного текста: заменяем переносы строк на тэги
echo nl2br ( $file = file_get_contents ( ‘test.txt’ ));

?>
выведет:
Это файл test.txt строка 2 строка 3 строка 4 строка 5
// для многострочного текста
Это файл test.txt
строка 2
строка 3
строка 4
строка 5

Кроме чтения файлов данная функция может еще читать содержимое сайтов . Здесь в качестве параметра передаем путь к сайту

$file = file_get_contents ( ‘https://php.net/’ ); // считываем контент в файл
echo $file ; // увидим страничку http://php.net/
echo htmlspecialchars ( $file ); // увидим код странички
?>

file_put_contents

file_put_contents — позволяет записать что-то в файл (php.net)

Функция возвращает integer — количество записанных байт в файл, или FALSE в случае ошибки.
Первый обязательный параметр — это путь к файлу , который мы будем записывать.
Второй обязательный параметр — это данные , которые мы будем записывать.
Запишем считанный контент в файл.
‘folder/file.txt’ — путь к файлу, в который запишем данные, хранящиеся в переменной $file .

Читайте также:  Найти сумму положительных нечетных чисел меньших 100 питон

// читаем содержимое страницы в сети
$file = file_get_contents ( ‘https://php.net/’ );
// записываем считанные данные в файл file.txt
file_put_contents ( ‘folder/file.txt’ , $file );
?>
— выведет весь HTML-код данной страницы.

Прочитаем еще одну страницу в переменную $file2 и запишем также еще и ее.

// читаем содержимое страницы в сети
$file = file_get_contents ( ‘https://php.net/’ );

// читаем содержимое второй страницы
$file2 = file_get_contents ( ‘https://www.php.net/manual/ru/function.file-put-contents.php’ );

// записываем считанные данные в файл file.txt
file_put_contents ( ‘folder/file.txt’ , $file );

// запишем в этот же файл содержимое переменной $file2
file_put_contents ( ‘folder/file.txt’ , $file2 );
?>
— выведет весь HTML-код второй страницы ($file2).

То есть, мы сначала записали в текстовый документ содержимое переменной $file , а затем мы перезаписали этот документ, записав в него содержимое переменной $file2 .

Чтобы дописать что-то в файл, не затирая при этом то, что там было до того, нужно воспользоваться третьим опциональным параметром flags .
Выбираем одну из трех констант — FILE_APPEND — эта константа позволяет записать данные в конец файла, вместо того, чтобы его перезаписать.
Дополнительно можно еще использовать константу — LOCK_EX — она устанавливает эксклюзивную блокировку на файл на время записи.

// читаем содержимое страницы в сети
$file = file_get_contents ( ‘https://php.net/’ );

// читаем содержимое второй страницы
$file2 = file_get_contents ( ‘https://www.php.net/manual/ru/function.file-put-contents.php’ );

// записываем считанные данные в файл file.txt
file_put_contents ( ‘folder/file.txt’ , $file , FILE_APPEND );

// запишем в этот же файл содержимое переменной $file2
file_put_contents ( ‘folder/file.txt’ , $file2 , FILE_APPEND );

?>
— выведет весь HTML-код первой и второй страниц.

file

file — читает содержимое файла и помещает его в массив, то есть каждая строка будет элементом массива . Применяется для файлов, где есть форматированные данные, где в каждой строке содержится свой набор данных

Обязательный параметр — это путь к файлу , который мы будем записывать.

Запишем в текстовый файл test.txt следующее:

Это файл test.txt|email
строка 2|email
строка 3|email
строка 4|email
строка 5|email

В индексном файле запишем:

$file = file ( ‘test.txt’ );
echo ‘

' ; 
print_r ( $file );
echo '

‘ ;
?>
— выведет:
Array
(
[0] => Это файл test.txt|email

Чтобы убрать пустые строки между элементами массива, можно воспользоваться необязательным параметром — flags .

В этом параметре нас интересуют две константы:
FILE_IGNORE_NEW_LINES — не добавляет новую строку в конце каждого элемента массива
FILE_SKIP_EMPTY_LINES — пропускает пустые строки

$file = file ( ‘test.txt’ , FILE_IGNORE_NEW_LINES );
echo ‘< pre>‘ ;
print_r ( $file );
echo ‘< /pre>‘ ;
?>
— выведет:
Array
(
[0] => Это файл test.txt|email
[1] => строка 2|email
[2] => строка 3|email
[3] => строка 4|email
[4] => строка 5|email
)

В файл test.txt добавим пустую строку:

Это файл test.txt|email
строка 2|email
. // Здесь пустая строка
строка 3|email
строка 4|email
строка 5|email

Читайте также:  Initial values in java

В индексном файле запишем:

$file = file ( ‘test.txt’ , FILE_IGNORE_NEW_LINES );
echo ‘< pre>‘ ;
print_r ( $file );
echo ‘< /pre>‘ ;
?>
— выведет:
Array
(
[0] => Это файл test.txt|email
[1] => строка 2|email
[2] =>
[3] => строка 3|email
[4] => строка 4|email
[5] => строка 5|email
)

Используем еще одну константу FILE_SKIP_EMPTY_LINES , константа добавляется через разделитель ( | ).

$file = file ( ‘test.txt’ , FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );
echo ‘< pre>‘ ;
print_r ( $file );
echo ‘< /pre>‘ ;
?>
— выведет:
Array
(
[0] => Это файл test.txt|email
[1] => строка 2|email
[2] => строка 3|email
[3] => строка 4|email
[4] => строка 5|email
)

— пустых элементов массива теперь нет.

is_dir

is_dir — эта функция проверяет, является ли имя файла директорией.

Параметром принимает путь к файлу . Возвращает TRUE , если файл существует и является папкой, иначе возвращается FALSE .

Если is_dir(‘folder’) вернет TRUE , то это — каталог (папка), иначе — это что-то другое.

if ( is_dir ( ‘folder’ )) echo ‘Это каталог’ ;
else echo ‘Это не каталог’ ;
?>
— выведет: Это каталог

Как в Windows, так и в Unix пути можно указывать в полном и относительном виде . В относительном виде путь может содержать специальные управляющие символы » . » ( точка ) и » .. » ( две точки ). Точка указывает на текущую папку относительно файла index.php (В данном случае — папка с уроком), а две точки — указатель на папку уровнем выше (phplessons).

if ( is_dir ( ‘..’ )) echo ‘Это каталог’ ;
else echo ‘Это не каталог’ ;
?>
— выведет: Это каталог

is_file

is_file — проверяет, является ли файл обычным файлом и существует ли он вообще по указанному пути.

Параметром принимает путь к файлу . Возвращает TRUE , если файл существует и является обычным файлом, иначе возвращает FALSE .

if ( is_file ( ‘test.txt’ )) echo ‘Это файл’ ;
else echo ‘Это не файл’ ;
?>
— выведет: Это файл

move_uploaded_file

move_uploaded_file — эта функция перемещает загруженный по указанному пути файл, по новому пути.

Первый параметр — путь к загруженному файлу ( $filename ).
Второй параметр — путь, по которому необходимо переместить файл ( $destination ).

move_uploaded_file ( $filename , $destination );

rename

rename — переименовывает файл или директорию, в понимании операционной системы — перенести его куда нибудь.

Первый параметр — старое имя ( $oldname ).
Второй параметр — новое имя ( $newname ).

В индексном файле запишем: rename(‘test.txt’, ‘folder/file2.txt’) ; где
— ‘test.txt’ — старое имя (путь) файла,
— ‘folder/file2.txt’ — новое имя (путь) файла

rename ( ‘test.txt’ , ‘folder/file2.txt’ );
?>
В папке folder появится файл file2.txt — (файл переименован и перемещен)

php21.png

mkdir

mkdir — пытается создать папку по указанному пути.

Первый параметр — указанный путь для создания папки ( $pathname ).

Второй параметр — по умолчанию для папки устанавливаются все права — ( $mode = 0777 ).

Третий параметр — разрешает создание вложенных директорий , указанных в pathname ( $recursive ).

mkdir ( $pathname , $mode = 0777 , $recursive = FALSE );

Читайте также:  width and height

Создадим вложенную структуру: папка 1 , в ней папка 2 и в папке 2 — папка 3 .

Для этого указываем параметр с правами — 0777 , и выставим третий параметр в true .

mkdir ( ‘1/2/3’ , 0777 , true );
?>
После обновления страницы получим желаемую структуру.

rmdir

rmdir — удаляет папку по указанному пути.

rmdir ( ‘1/2/3’ ); // удалит папку 3
rmdir ( ‘1/2’ ); // удалит папку 2
rmdir ( ‘1’ ); // удалит папку 1
?>

unlink — удаляет файл по указанному в параметре пути.

unlink ( ‘folder/file.txt’ ); // удалит файл file.txt из папки folder
?>

Источник

PHP: знакомимся с функцией file_get_contents()

Функция PHP file get ontents() используется для считывания файла в строку. Если применять ее для дистанционного считывания, не забудьте, что любой URL-адрес со специальными символами должен быть правильно закодирован при помощи urlencode() .

string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = 0 [, int $maxlen ]]]] )

Пример использования file_get_contents() :

Возвращаемое значение

Функция возвращает считанные данные или вернет FALSE при ошибке.

Дополнительная информация

file_get_contents() должна стать приоритетной функцией для считывания содержимого файла в строку. Она задействует метод отображения файла в память .

Одно из основных отличий между функциями file() и file_get_contents() заключается в том, что последняя считывает содержимое в строку, начиная с указанного параметра offset , и до maxlen . А file() считывает содержимое в массив.

Версии и история изменений в PHP

Функция file get contents PHP работает с PHP 4 >= 4.3.0, PHP 5, PHP 7 .

Параметр offset появился в PHP 5.1 .
Параметр maxlen также появился в PHP 5.1 .

Связанные функции

Вам также следует знать о следующих PHP-функциях :

file() — считывает весь файл в массив;
fgets() — считывает строку из указанного файла;
fread() — производит бинарно-безопасное чтение файла;
readfile() — выводит файл;
file_put_contents() — записывает строку в файл;
stream_get_contents() — считывает остаток потока в строку;
stream_context_create() — создаёт контекст потока.

Параметры

Параметр filename функции PHP file get contents используется для указания имени файла. Это обязательный параметр.

Параметр use_include_path используется для указания, может ли константа FILE_USE_INCLUDE_PATH ( из файла php.ini ) использоваться для запуска поиска include path . Это необязательный параметр.

Параметр context используется для указания контекста, созданного функцией stream_context_create() . Если не нужен произвольный контекст, можно опустить этот параметр при помощи NULL . Это необязательный параметр.

Параметр offset используется для указания смещения, с которого в исходном потоке начинается считывание. Отрицательное значение offset позволяет начинать смещение с конца потока. Это необязательный параметр.

Не забудьте, что поиск ( offset ) не поддерживается при дистанционной работе с файлами. В редких случаях при работе с нелокальными файлами могут сработать небольшие смещения, но в этом случае результат работы непредсказуем, так как работа производится в потоке в буфере.

Параметр maxlen используется для указания максимальной длины данных, которые необходимо считать. По умолчанию считывание производится до конца файла. Это необязательный параметр.

Источник

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