Инструменты пользователя

Инструменты сайта


software:development:demo:cms:ucms:creating_php_directory_and_file

Краткое содержание

5.3. Создание файла и директории средствами PHP

Введение

Вывод списка файлов директории

Для вывода списка файлов директории в PHP чаще всего используют функцию scandir() для простого перечисления. scandir() возвращает массив файлов и папок.
Пример scandir():

function_scandir.php
<?php
/* Это тестовый файл
function_scandir.php 
*/
/* Наименование файла текстом синего цвета*/
echo '
<span style="color: blue;">
function_scandir.php 
</span><br/>';
/////////////////////////////////////////////
/* Пример работы кода */
/////////////////////////////////////////////
 
$dir = './'; // Укажите путь к папке, например корень "./"
$files = scandir($dir);
foreach ($files as $file) {
    if ($file !== '.' && $file !== '..') { // Исключаем . и ..
	    echo "Это то, что находиться в этой директории: <br/>";
        echo $file . '<br>';
    }
}
?>

Создадим в блокноте новый файл, запишем в него вышеприведенный код и сохраним его в корне приложения как function_scandir.php

Откроем файл function_scandir.php в браузере, перейдя по ссылке http://localhost/function_scandir.php

Создание директорий

Функция mkdir() создает новую папку в указанной директории. Если создание проходит успешно, возвращает значение True. При создании новой папки можно задать права на доступ к ней параметром $mode. Указав параметру $recursive значение True, можно выполнить создание нескольких вложенных папок.
Версия PHP 4 и выше.

function bool mkdir (string $pathname [, int $mode [, bool $recursive [, resource $context]]])
Примеры использования функции mkdir():

mkdir()
mkdir("newfolder"); // создание папки в текущей директории
mkdir("../newfolder"); // на уровень ниже
mkdir("/folder1/folder2/newfolder"); // полный путь
mkdir("newfolder", 0777); // создание папки с назначением прав
/*Если нужно создать несколько вложенных папок, нужно задать $recursive = True.*/
mkdir("folder1/folder2/newfolder", 0777, True); // создание папки в текущей директории

Файл test_creat_dir.php

Создадим в блокноте новый файл, запишем в него нижеприведенный код и сохраним его в корне приложения как test_creat_dir.php

test_creat_dir.php
<?php
/* Это тестовый файл
test_creat_dir.php
*/
/* Наименование файла текстом синего цвета*/
echo '
<span style="color: blue;">
test_creat_dir.php
</span><br/>';
 
////////////////////////////////////////////////
//////////* Пример работы кода *////////////////
////////////////////////////////////////////////
 
//Примеры использования функции mkdir//
mkdir("newfolder"); // создание папки в текущей директории
mkdir("newfolder_0777", 0777); // создание папки с назначением прав
//Если нужно создать несколько вложенных папок, нужно задать $recursive = True.
mkdir("folder1/folder2/newfolder", 0777, True); // создание папки в текущей директории
$dir = './'; // Укажите путь к папке
$files = scandir($dir);
foreach ($files as $file) {
    if ($file !== '.' && $file !== '..') { // Исключаем . и ..
        echo $file . '<br>';
    }
}
?>

Откроем файл test_creat_dir.php в браузере, перейдя по ссылке http://localhost/test_creat_dir.php

Браузер вывел нам информацию о имеющихся файлах и директориях

  • folder1 - директория созданная файлом test_creat_dir.php
  • function_scandir.php - файл, созданный в разделе Вывод списка файлов директории
  • newfolder - директория созданная файлом test_creat_dir.php
  • newfolder_0777 - директория созданная файлом test_creat_dir.php
  • test_creat_dir.php - наш файл test_creat_dir.php

Проверим нашу директорию в проводнике

Нам отображается вложенная папка newfolder в директории C:\xampp\htdocs\folder1\folder2

Создание файлов

Создание файлов в PHP осуществляется с помощью функций file_put_contents() (для быстрой записи) или пары fopen() и fwrite() (для более гибкого управления). Если файл не существует, он будет создан; если существует — перезаписан (по умолчанию). Также возможно создание пустых файлов или папок.
Основные способы создания файлов: file_put_contents('file.txt', 'Текст'): Самый простой способ, объединяющий создание и запись данных в одну строку.

file_put_contents.php
// Создание файла с текстом
file_put_contents('data.txt', 'Содержимое файла');
// Создание пустого файла
file_put_contents('empty.txt', '');

fopen($filename, 'w'): Открывает файл для записи. Если файла нет, он будет создан.

file_put_contents.php
$file = fopen('newfile.txt', 'w'); // Создание
fwrite($file, 'Текст для записи'); // Запись
fclose($file); // Закрытие

Особенности: Права доступа: Убедитесь, что у скрипта есть права на запись в целевую директорию. Режимы fopen: Режим 'w' создает новый файл или перезаписывает существующий. Режим 'a' создает файл или добавляет данные в конец существующего. Создание папок: Для создания папки перед созданием файла используется mkdir('folder'). Пример создания файла с данными:

file_put_contents.php
$filename = 'log.txt';
$text = "Дата: " . date('Y-m-d H:i:s');
file_put_contents($filename, $text);

Файл test_creat_file.php

Создадим в блокноте новый файл, запишем в него нижеприведенный код и сохраним его в корне приложения как test_creat_file.php.

test_creat_file.php
<?php
/* Это тестовый файл
test_creat_file.php 
*/
/* Наименование файла текстом синего цвета*/
echo '
<span style="color: blue;">
test_creat_file.php
</span><br/>';
/////////////////////////////////////////////
/* Пример работы кода */
/////////////////////////////////////////////
 
//Примеры использования функции mkdir//
$myfile = fopen("newfile.txt", "w") or die("Не удается открыть файл!");
$txt = "Иванов Андрей\n";
fwrite($myfile, $txt);
$txt = "Петрова Ирина\n";
fwrite($myfile, $txt);
fclose($myfile);
$dir = './'; // Укажите путь к папке
$files = scandir($dir);
foreach ($files as $file) {
    if ($file !== '.' && $file !== '..') { // Исключаем . и ..
        echo $file . '<br>';
    }
}
?>

Откроем файл test_creat_file.php в браузере, перейдя по ссылке http://localhost/test_creat_file.php

Браузер вывел нам информацию о имеющихся файлах в директории. Синим цветом test_creat_file.php отображается наименование открытого файла

  • newfile.txt - новый созданный файл newfile.txt
  • test_creat_file.php - наш тестовый файл test_creat_file.php

Откраем в блокноте наш созданный файл newfile.txt

Мы видим записи в нашем файле newfile.txt

Файл creat_dir_and_file.php

Файл creat_dir_and_file.php - это вспомогательный файл данного руководства, он будет будет создавать на сервере необходимые для главы директории.
Создадим в блокноте новый файл, запишем в него нижеприведенный код и сохраним его в корне приложения как creat_dir_and_file.php.

creat_dir_and_file.php
 

Дополнения и Файлы

Только авторизованные участники могут оставлять комментарии.
software/development/demo/cms/ucms/creating_php_directory_and_file.txt · Последнее изменение: VladPolskiy

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki