- Функции для работы с файловой системой
- copy
- file_exists
- file_get_contents
- file_put_contents
- file
- is_dir
- is_file
- move_uploaded_file
- rename
- mkdir
- rmdir
- unlink
- PHP copy(), rename() and unlink() functions
- PHP File handling functions :
- PHP copy() Function
- copy() function syntax
- copy() function example
- PHP rename() Function
- rename() function syntax
- rename() function example
- PHP unlink() Function
- How to Delete a file in PHP.
- unlink() function syntax
- unlink() function example
- Leave a Reply Cancel reply
- PHP Tutorials
Функции для работы с файловой системой
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 .
// читаем содержимое страницы в сети
$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
В индексном файле запишем:
$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 — (файл переименован и перемещен)
mkdir
mkdir — пытается создать папку по указанному пути.
Первый параметр — указанный путь для создания папки ( $pathname ).
Второй параметр — по умолчанию для папки устанавливаются все права — ( $mode = 0777 ).
Третий параметр — разрешает создание вложенных директорий , указанных в pathname ( $recursive ).
mkdir ( $pathname , $mode = 0777 , $recursive = FALSE );
Создадим вложенную структуру: папка 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 — удаляет файл по указанному в параметре пути.
unlink ( ‘folder/file.txt’ ); // удалит файл file.txt из папки folder
?>
PHP copy(), rename() and unlink() functions
In this php tutorial we will learn how use copy() function, rename() function and unlink() function with php example.
PHP File handling functions :
- copy() – used to copy a file.
- rename() – used to rename a file.
- unlink() – used to delete a file.
PHP copy() Function
The copy() function is used to copy a file.
copy() function syntax
copy() function example
PHP rename() Function
The rename() function is used to rename a file name.
rename() function syntax
rename() function example
PHP unlink() Function
How to Delete a file in PHP.
The unlink() function is used to delete a file.
unlink() function syntax
unlink() function example
Leave a Reply Cancel reply
PHP Tutorials
- What is PHP ?
- PHP Installation using WampServer
- Run PHP with Wampserver
- Write PHP Server Code
- How to Comment Code in PHP ?
- Echo and Print Statements in PHP
- What is Variable ?
- Variable Scope in PHP
- Arithmetic Operators
- Logical Operators
- Assignment Operators
- Comparison Operators
- String Operators
- PHP Conditional Statement
- IF — ELSE Statement
- IF — ELSEIF — ELSE Statement
- PHP Switch Statement
- PHP Loop Types
- PHP for loop
- PHP while loop
- PHP do-while loop
- PHP foreach loop
- PHP Constant
- PHP Magic Constants
- PHP Function
- PHP isset() Function
- PHP empty() Function
- PHP String Functions
- The strlen() string function
- The substr() string function
- The str_word_count() string function
- The strrev() string function
- The strpos() string function
- The str_replace() string function
- The str_repeat() string function
- The empty() string function
- The strcmp() string function
- The trim() string function
- The strtolower() string function
- The strtoupper() string function
- The ucword() string function
- The ucfirst() string function
- PHP with HTML Forms
- PHP GET and POST Methods
- Form ACTION attribute
- $_GET, $_POST, $_REQUEST Function
- What is Session in PHP?
- PHP session example
- What is Cookies in PHP?
- PHP cookies example
- PHP Date and Time date() function
- PHP getdate() function
- PHP file inclue() and require() functions
- PHP file handling function
- PHP file open and read fopen(), fread() and fclose() functions
- PHP file create and write touch() and fwrite() functions
- PHP fgets(), fgetc() and feof() functions
- PHP copy(), unlink() and rename() functions
- PHP file_exists(), filesize() and realpath() functions
- Directory function in PHP
- Create directory using mkdir() function
- Remove directory using rmdir() function
- Open directory using opendir() function
- Read directory using readdir() function
- PHP file upload
- Upload only image using file upload
- Change image name while uploading image
- Create custom file upload in PHP
- PHP file upload example
- Types of errors in PHP
- PHP error handling using die() function
- PHP Exception handling — try, throw and catch block
- PHP and MySQL
- Create database in MySQL Server
- Create table in MySQL Server
- PHP — MySQL Database connection
- Select data from MySQL in PHP
- Select query in php mysql with example
- Insert data in mysql using php
- Update data in mysql using php
- Delete data from mysql using php