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

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


software:development:demo:cms:ucms:creating_php_directory_and_file

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
software:development:demo:cms:ucms:creating_php_directory_and_file [2026/02/07 12:56] – создано VladPolskiysoftware:development:demo:cms:ucms:creating_php_directory_and_file [2026/02/07 23:05] (текущий) VladPolskiy
Строка 1: Строка 1:
 +<note page>
 {{:icons:16:arrow-transition-180.png?|}}  {{:icons:16:arrow-transition-180.png?|}} 
-**[[software:development:demo:cms:ucms:ucms_table_of_contents | Краткое содержание]]**  +**[[software:development:demo:cms:ucms:ucms_table_of_contents | Краткое содержание]]** 
 +</note>
 ====== 5.3. Создание файла и директории средствами PHP ====== ====== 5.3. Создание файла и директории средствами PHP ======
 +===== Введение =====
   * [[software:development:demo:cms:ucms:directory_structure|Глава 5.0. Директории и файлы приложения]]   * [[software:development:demo:cms:ucms:directory_structure|Глава 5.0. Директории и файлы приложения]]
     * [[software:development:demo:cms:ucms:directory_structure|5.1. Директори приложения]]     * [[software:development:demo:cms:ucms:directory_structure|5.1. Директори приложения]]
Строка 9: Строка 11:
       * [[software:development:demo:cms:ucms:creating_file_structure|5.2.1. Создание файла приложения]]       * [[software:development:demo:cms:ucms:creating_file_structure|5.2.1. Создание файла приложения]]
     * [[software:development:demo:cms:ucms:creating_php_directory_and_file|5.3. Создание файла и директории средствами PHP]]     * [[software:development:demo:cms:ucms:creating_php_directory_and_file|5.3. Создание файла и директории средствами PHP]]
-===== Введение ===== + 
-Для создания файла в директории на PHP проще всего использовать функцию ''%%file_put_contents()%%'', которая создает файл и записывает данные, или **%%fopen()%%** для открытия/создания. Необходимо, чтобы PHP имел права на запись в указанную директорию.+===== Вывод списка файлов директории ===== 
 +Для вывода списка файлов директории в PHP чаще всего используют функцию **%%scandir()%%** для простого перечисления. **%%scandir()%%** возвращает массив файлов и папок. 
 \\   \\  
-Пример с ''file_put_contents'' (создание и запись): +Пример **%%scandir()%%**
-<code php example.php>+<code php function_scandir.php>
 <?php <?php
-$folder = 'path/to/folder'; // Папка +/* Это тестовый файл 
-$filename = 'data.txt';    // Имя файла +function_scandir.php  
-$path $folder '/' . $filename+*/ 
-$content = 'Текст для файла';+/* Наименование файла текстом синего цвета*/ 
 +echo ' 
 +<span style="color: blue;"> 
 +function_scandir.php  
 +</span><br/>'; 
 +///////////////////////////////////////////// 
 +/* Пример работы кода */ 
 +/////////////////////////////////////////////
  
-// Создает файл и пишет данныеесли папки нет — ошибка +$dir = './'; // Укажите путь к папкенапример корень "./" 
-file_put_contents($path, $content);+$files = scandir($dir); 
 +foreach ($files as $file) { 
 +    if ($file !== '.' && $file !== '..') { // Исключаем . и .. 
 +     echo "Это то, что находиться в этой директории: <br/>"; 
 +        echo $file . '<br>'; 
 +    } 
 +}
 ?> ?>
 </code> </code>
 +Создадим в блокноте новый файл, запишем в него вышеприведенный код и сохраним его в корне приложения как **%%function_scandir.php%%** 
 +\\  
 +{{:software:development:demo:cms:ucms:function_scandir.php_2.png?|}}
 +\\  
 +Откроем файл **%%function_scandir.php%%** в браузере, перейдя по ссылке http://localhost/function_scandir.php
 +\\  
 +{{:software:development:demo:cms:ucms:function_scandir.php_3.png?|}}
 +\\  
  
-Основные способы: +===== Создание директорий ===== 
-  **%%file_put_contents():%%** Самый быстрый способ создать файл и записать данные (или пустой, если второй параметр "")+Функция **%%mkdir()%%** создает новую папку в указанной директории. Если создание проходит успешно, возвращает значение True. При создании новой папки можно задать права на доступ к ней параметром $mode. Указав параметру $recursive значение True, можно выполнить создание нескольких вложенных папок. 
-  **%%fopen($path'w'):%%** Открывает файл для записи, создавая его, если он не существует. +\\   
-  **%%mkdir($folder, 0777, true):%%** Создает папкуесли она еще не существует.  +Версия PHP 4 и выше
-//   + 
-Пример с проверкой папки: +**%%function bool mkdir (string $pathname [int $mode [, bool $recursive [, resource $context]]])%%** 
-<code php example.php>+\\   
 +Примеры использования функции **%%mkdir()%%**: 
 +<code php mkdir()> 
 +mkdir("newfolder"); // создание папки в текущей директории 
 +mkdir("../newfolder"); // на уровень ниже 
 +mkdir("/folder1/folder2/newfolder"); // полный путь 
 +mkdir("newfolder"0777); // создание папки с назначением прав 
 +/*Если нужно создать несколько вложенных папок, нужно задать $recursive = True.*
 +mkdir("folder1/folder2/newfolder", 0777, True); // создание папки в текущей директории 
 +</code> 
 + 
 +==== Файл test_creat_dir.php ==== 
 +Создадим в блокноте новый файл, запишем в него нижеприведенный код и сохраним его в корне приложения как **%%test_creat_dir.php %%**  
 +<code php test_creat_dir.php >
 <?php <?php
-$dir 'uploads'; +/* Это тестовый файл 
-// Проверяемсуществует ли папкаесли нет создаем +test_creat_dir.php 
-if (!is_dir($dir)) { +*/ 
-    mkdir($dir, 0777, true);+/* Наименование файла текстом синего цвета*/ 
 +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>'; 
 +    }
 } }
-// Создаем пустой файл внутри папки 
-file_put_contents($dir . '/newfile.txt', ''); 
 ?> ?>
 </code> </code>
 +Откроем файл **%%test_creat_dir.php%%** в браузере, перейдя по ссылке http://localhost/test_creat_dir.php
 +\\  
 +{{:software:development:demo:cms:ucms:test_creat_dir.php_2.png?|}}
 +\\  
 +Браузер вывел нам информацию о имеющихся файлах и директориях
 +  * **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
 +Проверим нашу директорию в проводнике
 +\\  
 +{{:software:development:demo:cms:ucms:test_creat_dir.php_3.png?|}}
 +\\  
 +Нам отображается вложенная папка **newfolder** в директории %%C:\xampp\htdocs\folder1\folder2%%
  
 +===== Создание файлов =====
 +Создание файлов в PHP осуществляется с помощью функций **%%file_put_contents()%%** (для быстрой записи) или пары **%%fopen()%%** и **%%fwrite()%%** (для более гибкого управления). Если файл не существует, он будет создан; если существует — перезаписан (по умолчанию). Также возможно создание пустых файлов или папок. 
 +\\  
 +Основные способы создания файлов:
 +**%%file_put_contents('file.txt', 'Текст')%%**: Самый простой способ, объединяющий создание и запись данных в одну строку.
 +<code php file_put_contents.php>
 +// Создание файла с текстом
 +file_put_contents('data.txt', 'Содержимое файла');
 +// Создание пустого файла
 +file_put_contents('empty.txt', '');
 +</code>
 +**%%fopen($filename, 'w')%%**: Открывает файл для записи. Если файла нет, он будет создан.
 +<code php file_put_contents.php>
 +$file = fopen('newfile.txt', 'w'); // Создание
 +fwrite($file, 'Текст для записи'); // Запись
 +fclose($file); // Закрытие
 +</code>
  
 +Особенности:
 +Права доступа: Убедитесь, что у скрипта есть права на запись в целевую директорию.
 +Режимы **%%fopen:%%** Режим **%%'w'%%** создает новый файл или перезаписывает существующий. Режим **%%'a'%%** создает файл или добавляет данные в конец существующего.
 +Создание папок: Для создания папки перед созданием файла используется **%%mkdir('folder')%%**. 
 +Пример создания файла с данными:
  
 +<code php file_put_contents.php>
 +$filename = 'log.txt';
 +$text = "Дата: " . date('Y-m-d H:i:s');
 +file_put_contents($filename, $text);
 +</code>
  
 +==== Файл test_creat_file.php ====
 +Создадим в блокноте новый файл, запишем в него нижеприведенный код и сохраним его в корне приложения как **test_creat_file.php.**
 +<code 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>';
 +    }
 +}
 +?>
 +</code>
  
 +Откроем файл test_creat_file.php в браузере, перейдя по ссылке http://localhost/test_creat_file.php
 +\\  
 +{{:software:development:demo:cms:ucms:test_creat_file.php_3.png?|}}
 +\\  
 +Браузер вывел нам информацию о имеющихся файлах в директории. Синим цветом **<fc #6495ed>test_creat_file.php</fc>** отображается наименование открытого файла
 +  * **newfile.txt** - новый созданный файл newfile.txt
 +  * **test_creat_file.php** - наш тестовый файл test_creat_file.php
 +Откраем в блокноте наш созданный файл **newfile.txt**
 +\\  
 +{{:software:development:demo:cms:ucms:test_creat_file.php_4.png?|}}
 +\\  
 +Мы видим записи в нашем файле **newfile.txt**
  
- +===== Файл creat_dir_and_file.php ===== 
 +Файл **creat_dir_and_file.php** - это вспомогательный файл данного руководства, он будет будет создавать на сервере необходимые для главы директории.  
 +\\   
 +Создадим в блокноте новый файл, запишем в него нижеприведенный код и сохраним его в корне приложения как **creat_dir_and_file.php**. 
 +<code php creat_dir_and_file.php> 
 +<?php 
 +/* Это файл  
 +creat_dir_and_file.php 
 +для создания файлов и директорий руководства  
 +*/ 
 +// создание корневой директории 
 +mkdir("ucms"); 
 +// создание вложенной директории с назначением прав 
 +mkdir("ucms/library"); 
 +mkdir("ucms/users"); 
 +// создание вложенной директории с назначением прав 
 +mkdir("ucms/includes", 0755); 
 +// Создание пустого файла 
 +file_put_contents('ucms/index.php', ''); 
 +file_put_contents('ucms/help.txt', ''); 
 +file_put_contents('ucms/ license.txt', ''); 
 +file_put_contents('ucms/readme.html', ''); 
 +file_put_contents('ucms/library/lib.php', ''); 
 +file_put_contents('ucms/library/404.php', ''); 
 +echo "Директории и файлы устешно созданы" 
 +?> 
 +</code> 
 +Откроем файл **creat_dir_and_file.php** в браузере, перейдя по ссылке http://localhost/creat_dir_and_file.php 
 +\\   
 +{{:software:development:demo:cms:ucms:creat_dir_and_file.php_4.png?|}} 
 +\\   
 +Проверим создание директорий и файлов, а так же расширений файлов в проводнике 
 +\\   
 +{{:software:development:demo:cms:ucms:creat_dir_and_file.php_5.png?|}} 
 +\\  
 ===== Дополнения и Файлы ===== ===== Дополнения и Файлы =====
-см. также +см. также
-<note blue>+  * [[introduction#Окно примеров кода|Копирование кода и загрузка файлов примеров руководства]] 
 +  * [[directory_structure|Структура директорий приложения]] 
 + 
 +<note page>
 <wrap left>{{:icons:16:arrow-transition-180.png?|}}   <wrap left>{{:icons:16:arrow-transition-180.png?|}}  
 [[software:development:demo:cms:ucms:creating_file_structure|5.2.1. Создание файла приложения]] [[software:development:demo:cms:ucms:creating_file_structure|5.2.1. Создание файла приложения]]
Строка 61: Строка 237:
  {{:icons:16:arrow-transition.png?|}}</wrap>  {{:icons:16:arrow-transition.png?|}}</wrap>
 </note> </note>
 +
 +
software/development/demo/cms/ucms/creating_php_directory_and_file.1770458198.txt.gz · Последнее изменение: VladPolskiy

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