В предыдущих уроках Вы познакомились с тем, как использовать РНР для чтения данных из файла и записи данных в файл с помощью семейства функций fopen (). Однако полученных знаний недостаточно для программирования таких операций манипулирования файлами, как удаление файлов, создание символических или жестких ссылок на файлы (в Unix) или копирование файлов. В этом разделе мы обсудим, как решать упомянутые задачи в РНР.
Хотя большинство из рассматриваемых в этом разделе функций (например, копирование файлов) вы можете реализовать самостоятельно, используя имеющиеся знания РНР, без такой функции, как удаление файла, не обойтись. В РНР эта функция называется unlink () и имеет следующий синтаксис:
unlink($filename)
где $filename — имя удаляемого файла. Функция unlink () возвращает булевское значение, показывающее, была ли операция удаления успешной. Как было упомянуто ранее в этой главе при обсуждении прав доступа к файлам, для того, чтобы в РНР удалить файл, необходимо, чтобы пользователь, от имени которого запущен РНР, имел разрешение на запись в каталог, содержащий этот файл.
Использование функции unlink ()
1 2 3 4 5 |
<?php $files = glob("/tmp/*.tmp"); foreach($files as $val) { unlink($val);} ?> |
copy($source_file, $dest_file)
где $source_file представляет путь и имя файла источника, a $dest_file задает путь и новое имя файла назначения. Функция сору () возвращает булевское значение, указывающее на успешное или неудачное завершение операции копирования. В приведенном ниже примере эта функция совместно с функцией unlink () применяется для создания функции move (), которая выполняет перемещение файла.
Использование функции сору()
1 2 3 4 5 6 7 8 9 |
<?php function move($source, $dest) { if(!copy($source, $dest)) return false; if(!unlink($source)) return false; return true; } if(!move("/tmp/myfile.txt", "/tmp/tmpdir/newfile.txt"){ echo "Ошибка! Невозможно переместить файл!<ВR>"; } |
Похожие записи: