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

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


software:development:demo:cms:ucms:creating_php_directory_and_file

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
software:development:demo:cms:ucms:creating_php_directory_and_file [2026/02/07 13:54] – [Введение] 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.1. Директори приложения]]
 +      * [[software:development:demo:cms:ucms:creating_directory_structure|5.1.1. Создание директори приложения]]
 +    * [[software:development:demo:cms:ucms:file_structure|5.2. Файлы приложения]]
 +      * [[software:development:demo:cms:ucms:creating_file_structure|5.2.1. Создание файла приложения]]
 +    * [[software:development:demo:cms:ucms:creating_php_directory_and_file|5.3. Создание файла и директории средствами PHP]]
  
 ===== Вывод списка файлов директории ===== ===== Вывод списка файлов директории =====
Строка 14: Строка 21:
 function_scandir.php  function_scandir.php 
 */ */
-/* Наименование файла */ +/* Наименование файла текстом синего цвета*/ 
-echo "function_scandir.php <br/>";+echo 
 +<span style="color: blue;"> 
 +function_scandir.php  
 +</span><br/>'; 
 +/////////////////////////////////////////////
 /* Пример работы кода */ /* Пример работы кода */
-$dir = './'; // Укажите путь к папке+///////////////////////////////////////////// 
 + 
 +$dir = './'; // Укажите путь к папке, например корень "./"
 $files = scandir($dir); $files = scandir($dir);
 foreach ($files as $file) { foreach ($files as $file) {
     if ($file !== '.' && $file !== '..') { // Исключаем . и ..     if ($file !== '.' && $file !== '..') { // Исключаем . и ..
 +     echo "Это то, что находиться в этой директории: <br/>";
         echo $file . '<br>';         echo $file . '<br>';
     }     }
Строка 31: Строка 45:
 \\   \\  
 Откроем файл **%%function_scandir.php%%** в браузере, перейдя по ссылке http://localhost/function_scandir.php Откроем файл **%%function_scandir.php%%** в браузере, перейдя по ссылке http://localhost/function_scandir.php
 +\\  
 +{{:software:development:demo:cms:ucms:function_scandir.php_3.png?|}}
 +\\  
  
-===== Дополнения и Файлы =====+===== Создание директорий ===== 
 +Функция **%%mkdir()%%** создает новую папку в указанной директории. Если создание проходит успешно, возвращает значение True. При создании новой папки можно задать права на доступ к ней параметром $mode. Указав параметру $recursive значение True, можно выполнить создание нескольких вложенных папок. 
 +\\   
 +Версия PHP 4 и выше.
  
 +**%%function bool mkdir (string $pathname [, int $mode [, bool $recursive [, resource $context]]])%%**
 +\\  
 +Примеры использования функции **%%mkdir()%%**:
 +<code php mkdir()>
 +mkdir("newfolder"); // создание папки в текущей директории
 +mkdir("../newfolder"); // на уровень ниже
 +mkdir("/folder1/folder2/newfolder"); // полный путь
 +mkdir("newfolder", 0777); // создание папки с назначением прав
 +/*Если нужно создать несколько вложенных папок, нужно задать $recursive = True.*/
 +mkdir("folder1/folder2/newfolder", 0777, True); // создание папки в текущей директории
 +</code>
  
-  * [[software:development:demo:cms:ucms:directory_structure|Глава 5.0Директории и файлы приложения]] +==== Файл test_creat_dir.php ==== 
-    * [[software:development:demo:cms:ucms:directory_structure|5.1. Директори приложения]] +Создадим в блокноте новый файл, запишем в него нижеприведенный код и сохраним его в корне приложения как **%%test_creat_dir.php %%**  
-      * [[software:development:demo:cms:ucms:creating_directory_structure|5.1.1. Создание директори приложения]] +<code php test_creat_dir.php > 
-    [[software:development:demo:cms:ucms:file_structure|5.2Файлы приложения]] +<?php 
-      [[software:development:demo:cms:ucms:creating_file_structure|5.2.1. Создание файла приложения]] +/Это тестовый файл 
-    * [[software:development:demo:cms:ucms:creating_php_directory_and_file|5.3. Создание файла и директории средствами 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>';
 +    }
 +}
 +?>
 +</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. Создание файла приложения]]
Строка 55: Строка 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.1770461652.txt.gz · Последнее изменение: VladPolskiy

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