Как создать php файл.

Прежде чем создавать PHP-файл, нужно понимать, что он собой представляет. На самом деле php-файл – это обычный текстовый документ, но этот текстовый документ имеет расширение php. Благодаря расширению компьютер, на котором установлен и настроен веб-сервер, может понять, какой программой этот файл нужно обрабатывать.
Исходя из этого, предлагаю два основных способа, благодаря которым вы можете этот php-файл создать.
Способ 1. Создание файла PHP, меняя расширение текстового файла.
Откройте любой текстовый редактор, например, редактор «Блокнот», который входит в состав операционной системы Windows. Найти эту программу можно через главное меню Пуск -> Все программы ->Стандартные -> Блокнот.
В главном меню программы выбираем «Файл-Сохранить как».

И сохраняем текстовый файл с расширением *.txt.
Теперь нужно поменять расширение этого файла с *.txt на *.php.
Если у вас расширение файлов не отображается, то советую почитать эту заметку.
После того, как вы выполните инструкции из этой заметки, рядом с названием файла будет отображаться его расширение.

Теперь, для создания файла php нужно просто переименовать файл, изменив его расширение на php.

Больше моих уроков по PHP для начинающих здесь.
Способ 2. Создание файла PHP с помощью универсальных редакторов кода (например, Dreamweaver)
Многие специализированные программы для редактирования кода, например Dreamweaver, имеют специальные функции для создания PHP — файлов.
Давайте посмотрим, как это можно сделать в редакторе Dreamweaver.
После открытия программы появляется главное меню, в котором можно выбрать создание файла PHP.

Кроме того, это меню можно вызвать через меню «Файл – Создать».
После того, как файл будет создан, его можно будет сохранить через главное меню «Файл-сохранить как…».

Аналогичный процесс создания файлов PHP есть и в других редакторов кода.
Больше моих уроков по PHP для начинающих здесь.
Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Создание файла
Возможно ли с помощью PHP, Javascript или еще чего-нибудь сделать такой функционал, чтобы по нажатию на кнопку в папке с сайтом создавался файл, например, file.txt.
Отслеживать
8,667 18 18 золотых знаков 73 73 серебряных знака 181 181 бронзовый знак
задан 28 июн 2012 в 17:45
1,665 5 5 золотых знаков 35 35 серебряных знаков 73 73 бронзовых знака
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Отслеживать
51.4k 86 86 золотых знаков 267 267 серебряных знаков 505 505 бронзовых знаков
ответ дан 29 июн 2012 в 4:12
1,665 5 5 золотых знаков 35 35 серебряных знаков 73 73 бронзовых знака
Для этого случая, все это — неоправданный геморрой. Достаточно: file_put_contents(‘text.txt’, ‘Тест в файл’, FILE_APPEND); FILE_APPEND нужен для того, что-бы не переписывать текст файла, а дописывать в него (если убрать, то, собственно, содержимое файла будет переписываться). Если файл ‘text.txt’ не существует — он будет создан. PS: 2 @kostya — а вот оскорблений и матов здесь не нужно.
Создание файла
Вообще говоря, в PHP не существует функции, предназначенной именно для создания файлов . Большинство функций работают с уже существующими файлами в файловой системе сервера. Есть несколько функций, которые позволяют создавать временные файлы, или, что то же самое, файлы с уникальным для текущей директории именем. А вот для того, чтобы создать самый обычный файл, нужно воспользоваться функцией, которая открывает локальный или удаленный файл. Называется эта функция fopen() . Что значит «открывает файл»? Это значит, что fopen связывает данный файл с потоком управления программы. Причем связывание бывает различным в зависимости от того, что мы хотим делать с этим файлом: читать его, записывать в него данные или делать и то и другое. Синтаксис этой функции такой:
resource fopen ( имя_файла, тип_доступа [, use_include_path])
В результате работы эта функция возвращает указатель (типа ресурс) на открытый ею файл. В качестве параметров этой функции передаются: имя файла, который нужно открыть, тип доступа к файлу (определяется тем, что мы собираемся делать с ним) и, возможно, параметр, определяющий, искать ли указанный файл в include_path . Есть еще один опциональный параметр, но о нем мы говорить не будем, дабы не усложнять изложение. Обсудим подробнее каждый из этих трех параметров.
Параметр имя_файла должен быть строкой, содержащей правильное локальное имя файла или URL-адрес файла в сети. Если имя файла начинается с указания протокола доступа (например, http://. или ftp://. ), то интерпретатор считает это имя адресом URL и ищет обработчик указанного в URL протокола. Если обработчик найден, то PHP проверяет, разрешено ли работать с объектами URL как с обычными файлами (директива allow_url_fopen ). Если allow_url_fopen=off , то функция fopen вызывает ошибку и генерируется предупреждение. Если имя файла не начинается с протокола, то считается, что указано имя локального файла. Чтобы открыть локальный файл, нужно, чтобы PHP имел соответствующие права доступа к этому файлу.
Параметр use_include_path , установленный в значение 1 или TRUE, заставляет интерпретатор искать указанный в fopen() файл в include_path . Напомним, что include_path – это директива из файла настроек PHP, задающая список директорий, в которых могут находиться файлы для включения. Кроме функции fopen() она используется функциями include() и require() .
Параметр тип_доступа может принимать одно из следующих значений (см. таб. 9.1).
Итак, чтобы создать файл, нужно, как бы нелепо это ни звучало, открыть несуществующий файл на запись.
Пример 9.1. Использование функции fopen()
Создавая файл, нужно учитывать, под какой операционной системой вы работаете, и под какой ОС предположительно этот файл будет читаться. Дело в том, что разные операционные системы по-разному отмечают конец строки. В Unix-подобных ОС конец строки обозначается \n , в системах типа Windows – \r\n . Windows предлагает специальный флаг t для перевода символов конца строки систем типа Unix в свои символы конца строки. В противоположность этому существует флаг b , используемый чаще всего для бинарных файлов, благодаря которому такой трансляции не происходит. Использовать эти флаги можно, просто дописав их после последнего символа выбранного типа доступа к файлу . Например, открывая файл на чтение, вместо r следует использовать rt , чтобы перекодировать все символы конца строки в \r\n . Если не использовать флаг b при открытии бинарных файлов, то могут появляться ошибки, связанные с изменением содержимого файла. Из соображений переносимости программы на различные платформы рекомендуется всегда использовать флаг b при открытии файлов с помощью fopen() .
| Тип доступа | Описание |
|---|---|
| r | Открывает файл только для чтения; устанавливает указатель позиции в файле на начало файла. |
| r+ | Открывает файл для чтения и записи; устанавливает указатель файла на его начало. |
| w | Открывает файл только для записи; устанавливает указатель файла на его начало и усекает файл до нулевой длины. Если файл не существует, то пытается создать его. |
| w+ | Открывает файл для записи и для чтения; устанавливает указатель файла на его начало и усекает файл до нулевой длины. Если файл не существует, то пытается создать его. |
| a | Открывает файл только для записи; устанавливает указатель файла в его конец. Если файл не существует, то пытается создать его. |
| a+ | Открывает файл для записи и для чтения; устанавливает указатель файла в его конец. Если файл не существует, то пытается создать его. |
| x | Создает и открывает файл только для записи; помещает указатель файла на его начало. Если файл уже существует, то fopen() возвращает false и генерируется предупреждение. Если файл не существует, то делается попытка создать его. Этот тип доступа поддерживается начиная с версии PHP 4.3.2 и работает только с локальными файлами. |
| x+ | Создает и открывает файл для записи и для чтения; помещает указатель файла на его начало. Если файл уже существует, то fopen() возвращает false и генерируется предупреждение. Если файл не существует, то делается попытка создать его. Этот тип доступа поддерживается, начиная с версии PHP 4.3.2, и работает только с локальными файлами. |
Что происходит, если открыть или создать файл с помощью fopen не удается? В этом случае PHP генерирует предупреждение, а функция fopen возвращает как результат своей работы значение false . Такого рода предупреждения можно «подавить» (запретить) с помощью символа @ .
Например, такая команда не выведет предупреждения, даже если открыть файл не удалось:
$h = @fopen(“dir/another_file.txt”,”w+”);
Таким образом, функция fopen() позволяет создать только лишь пустой файл и сделать его доступным для записи . Как же записать данные в этот файл? Как прочитать данные из уже существующего файла?
Прежде чем ответить на эти вопросы, рассмотрим, как закрыть установленное с помощью fopen() соединение.
-
© INTUIT.ru. Автор: Н.В. Савельева. Курс размещен по договоренности с администрацией INTUIT.ru
fwrite
fwrite() записывает содержимое data в файловый поток stream .
Список параметров
Указатель ( resource ) на файл, обычно создаваемый с помощью функции fopen() .
Если параметр length является целым числом ( int ), запись остановится после того, как length байтов будут записаны или будет достигнут конец строки data , смотря что произойдёт раньше.
Возвращаемые значения
fwrite() возвращает количество записанных байт или false в случае возникновения ошибки.
Ошибки
Функция fwrite() выдаёт ошибку уровня E_WARNING в случае возникновения ошибки.
Список изменений
| Версия | Описание |
|---|---|
| 8.0.0 | Параметр length теперь допускает значение null . |
Примеры
Пример #1 Простой пример использования fwrite()
$filename = ‘test.txt’ ;
$somecontent = «Добавить это к файлу\n» ;
?php
// Вначале давайте убедимся, что файл существует и доступен для записи.
if ( is_writable ( $filename ))
// В нашем примере мы открываем $filename в режиме «записи в конец».
// Таким образом, смещение установлено в конец файла и
// наш $somecontent допишется в конец при использовании fwrite().
if (! $fp = fopen ( $filename , ‘a’ )) echo «Не могу открыть файл ( $filename )» ;
exit;
>
// Записываем $somecontent в наш открытый файл.
if ( fwrite ( $fp , $somecontent ) === FALSE ) echo «Не могу произвести запись в файл ( $filename )» ;
exit;
>
echo «Ура! Записали ( $somecontent ) в файл ( $filename )» ;
> else echo «Файл $filename недоступен для записи» ;
>
?>
Примечания
Замечание:
Запись в сетевой поток может прекратиться до того, как будут записаны все данные. Это можно контролировать с помощью проверки возвращаемого значения функции fwrite() :
function fwrite_stream ( $fp , $string ) for ( $written = 0 ; $written < strlen ( $string ); $written += $fwrite ) $fwrite = fwrite ( $fp , substr ( $string , $written ));
if ( $fwrite === false ) return $written ;
>
>
return $written ;
>
?>?php
Замечание:
В системах, различающих двоичные и текстовые файлы (к примеру, Windows), файл должен быть открыт используя флаг ‘b’ в конце аргумента mode функции fopen() .
Замечание:
Если дескриптор stream был открыт функцией fopen() в режиме «добавление в конец», то вызовы fwrite() будут атомарными (за исключением случая, если размер data превысит размер блока файловой системы, на некоторых платформах, и пока файл хранится на локальной файловой системе). То есть нет необходимости блокировать ресурс с помощью flock() перед вызовом fwrite() , и все данные будут записаны без прерываний.
Замечание:
При повторной записи в файловый указатель, данные будут добавлены в конец содержимого файла:
$fp = fopen ( ‘data.txt’ , ‘w’ );
fwrite ( $fp , ‘1’ );
fwrite ( $fp , ’23’ );
fclose ( $fp );
?php
// содержимое ‘data.txt’ теперь 123, а не 23!
?>
Смотрите также
- fread() — Бинарно-безопасное чтение файла
- fopen() — Открывает файл или URL
- fsockopen() — Открывает соединение с интернет-сокетом или доменным сокетом Unix
- popen() — Открывает файловый указатель процесса
- file_get_contents() — Читает содержимое файла в строку
- pack() — Упаковать данные в бинарную строку
User Contributed Notes 33 notes
13 years ago
After having problems with fwrite() returning 0 in cases where one would fully expect a return value of false, I took a look at the source code for php’s fwrite() itself. The function will only return false if you pass in invalid arguments. Any other error, just as a broken pipe or closed connection, will result in a return value of less than strlen($string), in most cases 0.
Therefore, looping with repeated calls to fwrite() until the sum of number of bytes written equals the strlen() of the full value or expecting false on error will result in an infinite loop if the connection is lost.
This means the example fwrite_stream() code from the docs, as well as all the «helper» functions posted by others in the comments are all broken. You *must* check for a return value of 0 and either abort immediately or track a maximum number of retries.
Below is the example from the docs. This code is BAD, as a broken pipe will result in fwrite() infinitely looping with a return value of 0. Since the loop only breaks if fwrite() returns false or successfully writes all bytes, an infinite loop will occur on failure.
// BROKEN function — infinite loop when fwrite() returns 0s
function fwrite_stream ( $fp , $string ) <
for ( $written = 0 ; $written < strlen ( $string ); $written += $fwrite ) <
$fwrite = fwrite ( $fp , substr ( $string , $written ));
if ( $fwrite === false ) <
return $written ;
>
>
return $written ;
>
?>
2 years ago
if you need a function that writes all data, maybe try
/**
* writes all data or throws
*
* @param mixed $handle
* @param string $data
* @throws \RuntimeException when fwrite returned * @return void
*/
/*private static*/ function fwrite_all ( $handle , string $data ): void
$original_len = strlen ( $data );
if ( $original_len > 0 ) $len = $original_len ;
$written_total = 0 ;
for (;;) $written_now = fwrite ( $handle , $data );
if ( $written_now === $len ) return;
>
if ( $written_now < 1 ) throw new \RuntimeException ( "could only write < $written_total >/ < $original_len >bytes!» );
>
$written_total += $written_now ;
$data = substr ( $data , $written_now );
$len -= $written_now ;
// assert($len > 0);
// assert($len === strlen($data));
>
>
>
3 years ago
$handles can also be used to output in console like below example
fwrite(STDOUT, «Console Output»);