Php создать файл, если он не существует
Я пытаюсь создать файлы и динамически писать содержимое. Ниже мой код.
$sites = realpath(dirname(__FILE__)).'/';
$newfile = $sites.$filnme_epub.".js";
if (file_exists($newfile)) {
$fh = fopen($newfile, 'a');
fwrite($fh, 'd');
} else {
echo "sfaf";
$fh = fopen($newfile, 'wb');
fwrite($fh, 'd');
}
fclose($fh);
chmod($newfile, 0777);
// echo (is_writable($filnme_epub.".js")) ? 'writable' : 'not writable';
echo (is_readable($filnme_epub.".js")) ? 'readable' : 'not readable';
die;
Однако он не создает файлы.
Поделитесь своими ответами и помощью. Спасибо!
Ответы
Ответ 1
Попробуйте использовать:
$fh = fopen($newfile, 'w') or die("Can't create file");
для тестирования, если вы можете создать там файл.
Если вы не можете создать файл, возможно, потому, что каталог не может быть записан пользователем веб-сервера (обычно "www" или аналогичным).
Сделайте chmod 777 folder
в папку, которую вы хотите создать, и повторите попытку.
Работает ли он?
Ответ 2
Используйте функцию is_file, чтобы проверить, существует ли файл уже или нет. Ты можешь сделать:
<?php
$file = 'test.txt';
if(!is_file($file)){
$contents = 'This is a test!'; // Some simple example content.
file_put_contents($file, $contents); // Save our content to the file.
}
?>