Php является ли файл папкой

Обновлено: 07.07.2024

Работа с файлами

В каждый PHP-документ можно включить файл с помощью инструкции include(). Её аргумент: путь к файлу. Этой инструкцией удобно пользоваться при наличии одинаковых кусков кода во многих PHP-программах. Содержимое включаемого файла обрабатывается как простой HTML-текст. Для того, чтобы содержимое этого файла обрабатывалось как PHP-программа, нужно обрамлять его открывающим и закрывающим тегами PHP.

Пример 1

Включаемый файл top.php с PHP-программой:

. Общее приветствие.

. Основная часть.

В данном случае результат будет тем же, если включаемый файл top.php содержит только строку HTML-текста:

Включаемые файлы могут возвращать значения подобно функциям. Использование оператора return прерывает выполнение этого файла так же, как и функции.

Пример 2

Включаемый файл top.php с PHP-программой:

Включаемый файл вернул 56

Инструкцию include() можно использовать внутри цикла. В цикле include() выполняется при каждой итерации. Это можно использовать для включения нескольких файлов. Например:

Определение имени включаемого файла и его загрузка производятся повторно при каждом вызове . Это означает, что если содержание включаемого файла с момента предыдущего вызова изменилось, то загрузится новое содержание.

Оператор include() также можно включать в тело условного оператора.

Несмотря на сходство по внешнему виду с функцией, include() функцией не является, а представляет собой специальную конструкцию языка.

Для указания что файл нужно подключать только один раз используется оператор include_once()

Анализ файлов

  • file_exists() - определяет существование файла. Например:
  • is_file() - определяет, является ли исследуемый объект файлом. Например:
  • is_dir() - определяет, является ли исследуемый объект каталогом. Например:
  • is_readable() - определяет, доступен ли файл для чтения. Например:
  • is_writable() - определяет, доступен ли файл для записи. Например:
  • filesize() - определяет размер файла в байтах.
  • filemtime() - определяет дату и время последнего изменения файла.
  • fileatime() - определяет дату и время последнего обращения к файлу.

Время возвращается в формате Unix, т.е. представляет собой количество секунд, прошедших после 1 января 1970 г. В примере 2 это число преобразуется в понятный для человека формат с помощью функции date( ). Подробнее об этой функции можно узнать в разделе "Дополнительные возможности".

Пример 3

top.php - файл top.php - не каталог top.php доступен для чтения top.php доступен для записи размер top.php в байтах - 732 последнее изменение top.php - 04 Oct 2005 20:21 последнее обращение к top.php - 20 Oct 2005 14:01

Внимание! С удаленными файлами эти функции не работают. Их можно применять только к локальной файловой системе.

Управление файлами

  • touch() - создает пустой файл с заданным именем. Если такой файл уже существует, то функция изменит дату модификации. Например:
  • copy() - копирует файл. Для копирования файлов в php применяется функция copy ($source, $result). Ей нужно передать лишь два параметра - источник $source и имя файла-копии - $result. Стоит отметить, что следует указывать полные адреса к файлам. Пример применения функции copy:

Пример 4

Пример 5

Пример 6

Пример 7

  • file_get_contents() - прочитать весь файл или URL
  • file_put_contents() - записать файл

Работа с каталогами

    mkdir() - создание каталога. Аргументы: путевое имя каталога и режим доступа. Режим доступа - восьмеричное число из трех цифр с ведущим нулем. Первая цифра - право доступа для владельца, вторая - для группы, третья - для всех остальных. В системе Windows режим доступа игнорируется. В системе UNIX определены следующие права доступа:

Пример 8

Проверочное выражение цикла сработает не так, как хотелось бы, если в каталоге есть файл с именем "0". В таком случае имя "0" будет преобразовано в 0, что вызовет завершение цикла. Избежать подобного можно, если принять дополнительные меры безопасности, изменив проверочное выражение:

Помимо использования функция fgetc() fgets() fgetss(), Вы можете использовать
$file = file($filename). Она читает $filename в массив($file).

Ручной Download, или как скриптом открыть пользователю окошко сохранения файла. Чтобы в браузере открылся диалог "Сохранить файл" с названием файла file.dat, скрипт должен послать такие заголовки:

Готовый пример отправки файла с диска: Не мешало бы также ссылаться на скрипт как http://. /download.php?file.dat, иначе браузеры, основанные на Mozilla, могут попытаться записать файл как file.dat.php. или указать атрибут download: Примечание: Не используйте заголовок header("Cache-Control: no-cache") в таких скриптах, большинство версий Internet Explorer не смогут скачать файл.

Следующий пример скрипта демонстрирует как организовать поддержку докачки:

Предполагается, что $cd - путь к файлу, $fn - имя файла Как передать файл на сервер?

Функции для работы с каталогами

  • chdir() - Сменить каталог boolean chdir (string str)

Изменяет корневой каталог текущего процесса на переданный в качестве параметра str. Возвращает TRUE в случае успешного завершения, FALSE в случае возникновения ошибки..

Закрывает поток, связанный с каталогом и переданный в качестве параметра catalog. Перед использованием данной функции, поток должен быть открыт с помощью функции opendir().

dir - Класс directory

Псевдо-объектно-ориентированный механизм для чтения каталога, переданного в параметре каталог. С момента открытия каталога становятся доступными два свойства класса. Свойство "handle" может быть использовано с другими функциями для работы с каталогами, например, с функциями readdir(), rewinddir() и closedir(). Свойство "path" содержит путь к открытому каталогу. Доступны три метода: read, rewind and close.

Пожалуйста, обратите внимание на способ, которым осуществляется проверка значения, возвращаемого методами класса dir() в примере, приведенном ниже. В этом примере проводится проверка значения на идентичность (выражения идентичны, когда они равны и являются одного типа - за более подробной информацией обратитесь к главе Операторы сравнения) значению FALSE, поскольку в ином случае, любой элемент каталога, чье имя может быть выражено как FALSE, остановит цикл.

Замечание: Порядок, в котором метод "read" возвращает элементы каталога, зависит от операционной системы.

Замечание: Также, PHP автоматически определяет внутренний класс Directory, что означает, что вы не сможете определять собственные классы с таким же именем.

Возвращает имя текущего рабочего каталога.

Возвращает дескриптор каталога для последующего использования с функциями closedir(), readdir() и rewinddir().

Начиная с версии PHP 4.3.0, параметр путь может также являться любым URL'ом, обращение к которому приводит к получению списка его файлов и каталогов. Однако, данный способ работает только при использовании url-упаковщика file://. В версии PHP 5.0.0 была добавлена поддержка url-упаковщика ftp://.

Возвращает имя следующего по порядку элемента каталога. Имена элементов возвращаются в порядке, зависящем от файловой системы.

Обратите внимание на способ проверки значения, возвращаемого функцией readdir() в приведенном ниже примере. В этом примере осуществляется проверка значения на идентичность (выражения идентичны, когда они равны и являются значениями одного типа - за более подробной информацией обратитесь к главе Операторы сравнения) значению FALSE, поскольку в ином случае, любой элемент каталога, чье имя может быть выражено как FALSE, остановит цикл (например, элемент с именем "0").

Обратите внимание, что функция readdir() также возвращает элементы с именами, и, если вы не хотите получать эти значения, просто отбрасывайте их:

Сбрасывает поток каталога, переданный в параметре catalog таким образом, чтобы тот указывал на начало каталога

По умолчанию, сортировка производится в алфавитном порядке по возрастанию. Если указан необязательный параметр order (равен 1), сортировка производится в алфавитном порядке по убыванию. Пример кода

Описание родственных функций вы сможете найти в разделах Каталоги и Выполнение программ.

За списком обёрток URL для работы с удалёнными файлами и пояснениями обращайтесь к главе Поддерживаемые протоколы и обёртки.

Содержание

User Contributed Notes 8 notes

I just learned that, to specify file names in a portable manner, you DON'T need 'DIRECTORY_SEPARATOR' - just use '/'. This really surprised and shocked me, as until now I typed about a zillion times 'DIRECTORY_SEPARATOR' to stay platform independent - unnecessary. Don't make the same mistake.

You have an array of directories (straightforward list of directories):

<?php
$array = array(
'/home/drapeko/var' ,
'/home/drapeko/var/y' ,
'/home/drapeko' ,
'/home' ,
'/var/libexec'
);
);
?>

And you would like to transform this array to hierarchy of directories:

<?php
$array = array (
'home' => array (
'drapeko' => array (
'var' => array (
'y' => array()
)
)
),
'var' => array(
'libexec' => array()
)
);
?>

How can you do it?

First of all the below function will help us.

<?php
/**
* This function converts real filesystem path to the string array representation.
*
* for example,
* '/home/drapeko/var/y will be converted to $result_array['home']['drapeko']['var']['y']
* '/home/drapeko/var/y/file.txt will be converted to $result_array['home']['drapeko']['var']['y']
*
* @param $path realpath of the directory
* @return string string array representation of the path
*/
function pathToArrayStr ( $path ) <
// TODO constants/configs?
$res_path = str_replace (array( ':/' , ':\\' , '/' , '\\' , DIRECTORY_SEPARATOR ), '/' , $path );
// if the first or last symbol is '/' delete it (e.g. for linux)
$res_path = preg_replace (array( "/^\//" , "/\/$/" ), '' , $res_path );
// create string
$res_path = '[\'' . str_replace ( '/' , '\'][\'' , $res_path ). '\']' ;

return $res_path ;
>
?>

It simply converts the real path of the file to array string representation.

How can you use this function? I know it looks like a little confusing. But it's quite simple. Consider the example below:

<?php
$result = array();
$check = array();
foreach( $array as $val ) <
$str = pathToArrayStr ( $val , 'result' );
foreach( $check as $ck ) <
if ( strpos ( $ck , $str ) !== false ) <
continue 2 ;
>
>
$check [] = $str ;
eval( '$result' . $str . ' = array();' );
>
print_r ( $result );
?>

Heh, how do you find it? This approach has helped me very much. I hope you will find it useful. :)

I made this function to search and/or display files by extension or for a string occurance in the filename. Any comments or enhancements are welcome offcourse. I'll update this function soon.

usage: list_files([string], [string], [int 1 | 0], [int 1 | 0]);

search for extension: list_files([string], [string], [0], [int 1 | 0]);
returns array: $myArray = list_files([string], [string], [0], [0]);
echo result: list_files([string], [string], [0], [1]);

search for string occurance: list_files([string], [string], [1], [int 1 | 0]);
returns array: $myArray = list_files([string], [string], [1], [0]);
echo result: list_files([string], [string], [1], [1]);

function list_files ( $directory , $stringSearch , $searchHandler , $outputHandler ) $errorHandler = false ;
$result = array();
if (! $directoryHandler = @ opendir ( $directory )) echo ( "<pre>\nerror: directory \" $directory \" doesn't exist!\n</pre>\n" );
return $errorHandler = true ;
>
if ( $searchHandler === 0 ) while ( false !== ( $fileName = @ readdir ( $directoryHandler ))) if(@ substr ( $fileName , - @ strlen ( $stringSearch )) === $stringSearch ) @ array_push ( $result , $fileName );
>
>
>
if ( $searchHandler === 1 ) while( false !== ( $fileName = @ readdir ( $directoryHandler ))) if(@ substr_count ( $fileName , $stringSearch ) > 0 ) @ array_push ( $result , $fileName );
>
>
>
if (( $errorHandler === true ) && (@ count ( $result ) === 0 )) echo ( "<pre>\nerror: no filetype \" $fileExtension \" found!\n</pre>\n" );
>
else sort ( $result );
if ( $outputHandler === 0 ) return $result ;
>
if ( $outputHandler === 1 ) echo ( "<pre>\n" );
print_r ( $result );
echo ( "</pre>\n" );
>
>
>

This function searches a directory and returns an array of all files whose filename matches the specified regular expression. It's similar in concept to the Unix find program.

function findfile($location='',$fileregex='') if (!$location or !is_dir($location) or !$fileregex) return false;
>

$all = opendir($location);
while ($file = readdir($all)) if (is_dir($location.'/'.$file) and $file <> ".." and $file <> ".") $subdir_matches = findfile($location.'/'.$file,$fileregex);
$matchedfiles = array_merge($matchedfiles,$subdir_matches);
unset($file);
>
elseif (!is_dir($location.'/'.$file)) if (preg_match($fileregex,$file)) array_push($matchedfiles,$location.'/'.$file);
>
>
>
closedir($all);
unset($all);
return $matchedfiles;
>

<?php
ini_set ( 'auto_detect_line_endings' , true );
$contents = file ( 'unknowntype.txt' );

ini_set ( 'auto_detect_line_endings' , false );
$content2 = file ( 'unixfile.txt' );
?>

Note, with PHP 4.3 anytime Mac files are read using fgets or file you'll need to auto_detect_line_endings since \n is otherwise assumed. However, with PHP 5.0, stream_get_line() will allow you to specify what line ending character to read up to.

\\ Read a line from a MAC file
stream_get_line($fp, 4096, "\r");

\\ Read a line from a UNIX file
stream_get_line($fp, 4096, "\n");

\\ Read a line from a DOS file
stream_get_line($fp, 4096, "\r\n");

\\ Read a line up to any filesystem line ending
ini_set('auto_detect_line_endings', true); fgets($fp);

\\ You can also make up your own line ending characters:
\\ Read up to the first instance of ":"
stream_get_line($fp, 4096, ":");

This is a function I use to determine if a file contains Binary information. I use this for my search engine so that it doesn't try to index files like .zip or .mp3 or any other file that doesn't contain readable information. It makes use of the Character Type Extension if it's loaded, if it's not then it uses Regular Expressions.

function is_binary($link)
$tmpStr = '';
@$fp = fopen($link, 'rb');
@$tmpStr = fread($fp, 256);
@fclose($fp);

if($tmpStr != '')
$tmpStr = str_replace(chr(10), '', $tmpStr);
$tmpStr = str_replace(chr(13), '', $tmpStr);

for($i =0; $i < strlen($tmpStr); $i++)
if( extension_loaded('ctype') )
if( !ctype_print($tmpStr[$i]) )
$tmpInt++;
>
else
if( !eregi("[[:print:]]+", $tmpStr[$i]) )
$tmpInt++;
>
>

Here is a useful function if you're having trouble writing raw bytes into a file.

It receives an integer and returns an array containing the ASCII values of the bytes on each index of the array.

function int2bytes($number) $byte = $number;
$i=0;
do $dec_tmp = $byte;

$byte = bcdiv($byte,256,0);
$resto = $dec_tmp - (256 * $byte);
$return[] = $resto;
> while($byte >= 256);
if($byte) $return[] = $byte;
return array_reverse($return);
>

$arr will contain the following values:
Array
(
[0] => 1
[1] => 40
[2] => 56
)

Now, to write this data to the file, just use a fputs() with chr(), just like this:

a function based on "tunnelareaten at gmail dot com"s idea to search for files in a given directory by a searchstring or by fileextension.

I added support to search recursively through all sub-directories an to determine weather the filepath should be returned or not.

<?php
// recursive function to get contents of given folder by searchterm or fileextension
// (does not show folders)
// standards: Foldername: string
// Searchterm: string
// Searchtype: ext/search (file-extension or searchterm within filename)
// SaveCompletePath: true/1
// usage: array FileSearch_r($Folder,$Search[,$SearchType,$SavePath])

function FileSearch_r ( $Dir , $Search , $SearchType = "search" , $SavePath = 1 ) $Array =array();
$D = dir ( $Dir );
while ( false !==( $Entry = $D -> read ()))
if ( $Entry != '.' && $Entry != '..' ) $Entry = $Dir . $Entry ;
if ( is_dir ( $Entry )) $Array = array_merge ( $Array , FileSearch_r ( $Entry . '/' , $Search , $SearchType , $SavePath ));
else
if ( $SearchType == "search"
? substr_count ( $Entry , $Search )> 0
:( $SearchType == "ext"
? substr ( $Entry ,- strlen ( $Search ))=== $Search
: true ))
$Array []= $Entry ;
>
$D -> close ();
sort ( $Array , SORT_STRING );
if(!(bool) $SavePath ) $Array = str_replace ( $Dir , "" , array_values ( $Array ));
return $Array ;
>
?>

Одна из самых распространённых задач с файлами - это получение всех строк файла. Для этого лучше всего воспользоваться функцией file, которая прочитает файл и запишет его содержание в массив. Один элемент массива будет равен одной строке файла. Разберём пример: В переменную $a будет записан массив из строк, хранящихся в файле. Вторым параметром функции file указаны два флга через вертикальный разделитель |.

Флаг FILE_IGNORE_NEW_LINES запрещает перенос в результирующий массив символов конца строки. Если флага FILE_IGNORE_NEW_LINES не будет, то в массиве окажутся строки с символами конца строки.

Второй флаг FILE_SKIP_EMPTY_LINES заставлет пропускать пустые строки файла. Поэтому пустые строки не попадут в результирующий массив.

Как и функции file_get_contents в функцию file необходимо передать полный путь к файлу в системе.

В случае ошибки функция file возвращает false.

Проверка является ли файлом или папкой

Иногда появляется необходимость проверить является ли объект файлом или папкой. Для этого подойдут функции is_file и is_dir. Обе функции принимают только один параметр - путь файла в системе.Функция is_file возвращает true, если объект является файлом и false, если нет. Функция is_dir возвращает true, если объект является папкой и false, если нет. Чаще всего эти функции используются непосредственно внутри условия if( ). Попробуем использовать их:

Создание папки

Функция mkdir в PHP создаёт папки. У этой функции есть при параметра. В первом параметре она принимает полный путь к новой папке в системе. Через второй параметр она получает уровень доступа к папке (в восьмиричной системе, примеры будут ниже). И третий параметр может быть true или false, в зависимости от того, надо ли создавать все папки в пути (если поставить false, то можно создать только одну папку. Если true, то можно создать цепочку из вложенных в друг друга папок). Попробуем привести пример с использованием этой функции: В результате выполнения этого кода будет создана папка /mouse/ внутри папки /home/. Если папки /home/ не существовала, то она тоже будет создана, потому что в третьем параметре функции mkdir стоит true. Рекомендуем устанавливать права на файлы - 0644 и на папки - 0755 Функция mkdir возвращает true в случае успешного создания папки.

Удаление папки

С помощью функции rmdir можно удалить папку. Эта функция принимает полный путь к удаляемому файлу в системе. В случае успешного удаления возвращает true. Приведём пример её использования. Как при любом удалении, сначала проверим существует ли объект, который надо удалить:

Чтение содержимого папки

Иногда появляется необходимость используя PHP узнать содержимое папки: то есть получить список файлов и папок внутри неё. С этой задачей поможет функция scandir. У неё два параметра: первый - это полный путь к папке, в которой надо проводить сканирование, а второй - порядок сортировки (по умолчанию сортировка идёт по имени файла в прямом порядке. Если вторым параметром поставить еиницу 1, то будет в обратном порядке). Функция возвращает массив из названий файлов Резльутат выполнения этого скрипта будет содержать список файлов и папок в дериктории. Но только первого уровня. То есть в результат не попадут файлы и папки, которые являются вложенными.

Чтобы получить весь список файлов и сделать рекурсивный обход всех вложенных папок, необходимо использовать рекурсивную функцию. Её реализация может быть такой: В результате выполнения такого кода в переменной $b окажется массив, состоящий из путей ко всем файлам и папкам, вложенным в папку /home/. В том числе пути ко всем файлам в подпапках и пути к самим папкам.

Обратите внимание, что в примере, внутри функции GetAllFiles, происходит вызов этой же самой функции GetAllFiles. Именно поэтому функция называется рекурсивной.

В примере используется функция realpath. Она преобразует адреса, которые содержат точки "..", означающие переход к родительской папке, в полные адреса папок в системе.

Константа DIRECTORY_SEPARATOR служит для вывода разделителя в адресах файлов. К примеру, если в Linux используются "/" для разделения папок в адресах, то в Windows используется обратный слеш "\". Чтобы не задумываться над тем, какой нужно поставить, можно использовать константу DIRECTORY_SEPARATOR. В ней находится нужный разделитель для текущей системы.

Практически все универсальные языки программирования предоставляют полный набор средств для работы с файлами. С помощью языка РНР с информацией, хранящейся на компьютере, можно выполнять любые действия. Так, файлы можно создавать, копировать, удалять или выполнять их поиск.

Управление файлами

Информация, которая хранится на жестком диске, упорядочена в файлах (file). В свою очередь, для обеспечения их более эффективной обработки файлы распределены по каталогам (directory) или папкам (folder). Набор файлов и каталогов называется файловой системой (file system). Она имеет иерархическую структуру и содержит единственный корневой (root) каталог, такой как С:\ в операционной системе Windows или / — в Linux.

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

В языке РНР имеются функции, которые позволяют открывать файлы и считывать или записывать в них информацию. Файлы можно копировать, удалять, переименовывать, а также выполнять над ними много других действий.

Если над файлами или каталогами необходимо выполнить какие-либо действия, обратитесь к справочному руководству и посмотрите, не определена ли в языке РНР соответствующая функция. Если такая функция отсутствует, можно воспользоваться командами операционной системы или программой, написанной на другом языке.

Получение информации о файле

Зачастую требуется получить какие-нибудь данные о файле. В языке РНР определены функции, которые в сценарии позволяют получить всю необходимую информацию.

Для того чтобы узнать, существует ли файл, предназначена функция File_exists.
После вызова этой функции переменной $result присваивается либо значение TRUE, либо FALSE. Обычно функция File_exists используется в условных операторах. Например:
После того как вы убедитесь в существовании файла, можно приступать к сбору информации о нем.

Приведем функции, позволяющие получить полезную информацию о файлах:

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

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

Функция Is_writable определяет, доступен ли файл для записи.

Функция Filemtime возвращает время последнего изменения файла.

Функция Filesize возвращает размер файла.

Часть информации можно получить лишь в операционных системах Linux/Unix/Mac, другую ее часть — и в системе Windows.

В языке РНР имеется полезная функция Pathinfo, которая позволяет получить путь
и имя файла. Например:
После вызова этой функции в массиве $path_parts будет содержаться приблизительно следующая информация:
Копирование, переименование и удаление файлов

Создание каталога

Для изменения имени каталога в РНР предусмотрена функция Chdir:
Получение списка файлов каталога

Очень часто необходимо знать содержимое каталогов. Например, нужно вывести пользователю список предлагаемых для загрузки файлов или извлечь изображения из каталога, чтобы отобразить их в окне браузера.

Поскольку PHP является серверным языком программирования, он позволяет вам работать с файлами и каталогами, хранящимися на веб-сервере. В этом руководстве вы узнаете, как создавать, получать доступ и управлять файлами на вашем веб-сервере с помощью функций файловой системы PHP.

Открытие файла с помощью PHP-функции fopen()

Для работы с файлом вам сначала нужно открыть файл. Функция PHP fopen() используется для открытия файла. Базовый синтаксис этой функции может быть задан следующим образом:

Первый параметр, передаваемый в fopen() , указывает имя файла, который вы хотите открыть, а второй параметр указывает, в каком режиме файл должен быть открыт. Например:

Файл можно открыть в одном из следующих режимов:

Операции с файлами и каталогами подвержены ошибкам. Поэтому рекомендуется реализовать некоторую форму проверки ошибок, чтобы в случае возникновения ошибки ваш скрипт корректно ее обработал. См. Руководство по обработке ошибок в PHP.

Закрытие файла с помощью PHP-функции fclose()

Закончив работу с файлом, его нужно закрыть. Функция fclose() используется для закрытия файла, как показано в следующем примере:

Хотя PHP автоматически закрывает все открытые файлы при завершении скрипта, рекомендуется закрывать файл после выполнения всех операций.

Чтение файлов с помощью PHP-функции fread()

Теперь, когда вы поняли, как открывать и закрывать файлы. В следующем разделе вы узнаете, как читать данные из файла. В PHP есть несколько функций для чтения данных из файла. Вы можете прочитать от одного символа до всего файла с помощью одной операции.

Чтение фиксированного количества символов

Функцию fread() можно использовать для чтения указанного количества символов из файла. Базовый синтаксис этой функции можно задать с помощью.

Чтение всего содержимого файла

Функцию fread() можно использовать вместе с функцией filesize() для одновременного чтения всего файла. Функция filesize() возвращает размер файла в байтах.

Для обработки данных файла необходимо выполнить итерацию по массиву с помощью цикла foreach. Вот пример, который считывает файл в массив, а затем отображает его с помощью цикла:

Запись файлов с помощью PHP-функции fwrite()

Точно так же вы можете записывать или добавлять данные в существующий файл с помощью PHP-функции fwrite() . Базовый синтаксис этой функции может быть задан следующим образом:

В приведенном выше примере, если файл note.txt не существует, PHP автоматически создаст его и запишет данные. Но если файл note.txt уже существует, PHP удалит содержимое этого файла, если оно есть, перед записью новых данных, однако, если вы просто хотите добавить файл и сохранить существующее содержимое, просто используйте режим a вместо w в приведенном выше примере.

Если файл, указанный в функции file_put_contents() , уже существует, PHP по умолчанию перезапишет его. Если вы хотите сохранить содержимое файла, вы можете передать специальный флаг FILE_APPEND в качестве третьего параметра функции file_put_contents() . Он просто добавит новые данные в файл вместо того, чтобы перезаписывать его. Вот пример:

Переименование файлов с помощью PHP-функции rename()

Вы можете переименовать файл или каталог с помощью PHP-функции rename() , например:

Удаление файлов с помощью PHP-функции unlink()

Вы можете удалять файлы или каталоги с помощью PHP-функции unlink() , например:

В следующей главе мы узнаем больше о разборе каталогов или папок в PHP.

Функции файловой системы PHP

В следующей таблице представлен обзор некоторых других полезных функций файловой системы PHP, которые можно использовать для динамического чтения и записи файлов.

Функция Описание
fgetc() Читает по одному символу за раз.
fgets() Читает по одной строке за раз.
fgetcsv() Читает строку значений, разделенных запятыми.
filetype() Возвращает тип файла.
feof() Проверяет, достигнут ли конец файла.
is_file() Проверяет, является ли файл обычным файлом.
is_dir() Проверяет, является ли файл каталогом.
is_executable() Проверяет, является ли файл исполняемым.
realpath() Возвращает канонизированный абсолютный путь.
rmdir() Удаляет пустой каталог.

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

Похожие посты

Руководство по загрузке файлов на сервер в PHP

Руководство по GET и POST запросам в PHP

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.

Разработка сайтов для бизнеса

Если у вас есть вопрос, на который вы не знаете ответ — напишите нам, мы поможем разобраться. Мы всегда рады интересным знакомствам и новым проектам.

Читайте также: