Как записать в файл на PHP?
У меня есть этот скрипт на одном бесплатном сервере с поддержкой PHP:
<html>
<body>
<?php
$file = fopen("lidn.txt","a");
fclose($file);
?>
</body>
</html>
Он создает файл lidn.txt
, но он пуст.
Как я могу создать файл и записать в него что-нибудь, например строку "Кошки гоняются за мышами"?
7 answers
Вы можете использовать функцию более высокого уровня, такую как file_put_contents($filename, $content)
, которая идентична вызову fopen()
, fwrite()
, и fclose()
последовательно записывать данные в файл.
Документы: файл_пут_контенты
Рассмотрим fwrite():
<?php
$fp = fopen('lidn.txt', 'w');
fwrite($fp, 'Cats chase mice');
fclose($fp);
?>
$fp = fopen('lidn.txt', 'w');
fwrite($fp, 'Cats chase');
fwrite($fp, 'mice');
fclose($fp);
$text = "Cats chase mice";
$filename = "somefile.txt";
$fh = fopen($filename, "a");
fwrite($fh, $text);
fclose($fh);
Вы используете fwrite()
Легко записать файл:
$fp = fopen('lidn.txt', 'w');
fwrite($fp, 'Cats chase mice');
fclose($fp);
Я использую следующий код для записи файлов в свой веб-каталог.
Write_file.html
<form action="file.php"method="post">
<textarea name="code">Code goes here</textarea>
<input type="submit"value="submit">
</form>
Write_file.php
<?php
// strip slashes before putting the form data into target file
$cd = stripslashes($_POST['code']);
// Show the msg, if the code string is empty
if (empty($cd))
echo "Nothing to write";
// if the code string is not empty then open the target file and put form data in it
else
{
$file = fopen("demo.php", "w");
echo fwrite($file, $cd);
// show a success msg
echo "data successfully entered";
fclose($file);
}
?>
Это рабочий скрипт. обязательно измените URL-адрес в действии формы и целевой файл в функции fopen(), если вы хотите использовать его на своем сайте.
Удачи.
fwrite()
это немного быстрее, и file_put_contents()
в любом случае является просто оболочкой вокруг этих трех методов, так что вы потеряете накладные расходы.
Статья
Входные данные файла (файл, данные, режим, контекст):
В file_put_contents
записывает строку в файл.
Эта функция следует этим правилам при доступе к файлу.Если задан параметр FILE_USE_INCLUDE_PATH, проверьте путь включения для копии имени файла Создайте файл, если он не существует, затем откройте файл и Заблокируйте файл, если задано значение LOCK_EX, и если задано значение FILE_APPEND, переместитесь в конец файла. В противном случае очистите содержимое файла Запишите данные в файл, закройте файл и снимите все блокировки. Эта функция возвращает номер символа, записанного в файл при успешном выполнении, или значение FALSE при сбое.
Fwrite(файл,строка, длина):
В fwrite
записывает в открытый файл.Функция остановится в конце файла или когда она достигнет указанного длина,
в зависимости от того, что наступит раньше.Эта функция возвращает количество записанных байтов или значение FALSE при сбое.