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;

Тем не менее, он не создает файлы.

Пожалуйста, поделитесь своими ответами и помощью. Спасибо!

 erwan05 февр. 2018 г., 21:11
у меня просто была такая же проблема, я подумал, что пытался создать файл с недопустимым именем>. <, например, $ fname = $ Datetime-> формат ('Y-m-d H: i: s'), как глупый

Ответы на вопрос(2)

Попробуйте использовать:

$fh = fopen($newfile, 'w') or die("Can't create file");

для тестирования, если вы можете создать файл там или нет.

Если вы не можете создать файл, возможно, это связано с тем, что пользователь веб-сервера недоступен для записи (обычно это «www» или аналогичный).

Сделатьchmod 777 folder в папку, которую вы хотите создать файл и попробуйте снова.

Это работает?

 halfpastfour.am21 июл. 2014 г., 14:14
Никогда не устанавливайте для вашей папки или файла права доступа 777. См.эта почта для дополнительной информации.
 shyamkarthick14 дек. 2013 г., 06:53
его создали внутри папок, а не в корневой папке .... спасибо
 Alejandro Iván14 дек. 2013 г., 07:13
Прочитайте ответ снова. Я ничего не сказал о корневой папке. Предположим, у вас есть имя пользователя, например, «bob». Веб-сервер работает как совершенно другой пользователь (скажем, «www»). "www" не может писать папки "bob", если: 1) "www" не добавлен в группу "bob", и папка имеет как минимум 775 разрешений. 2) Вы меняете владельца папки с «bob» на «www» (используяchown). 3) Папка доступна для записи любому пользователю (она имеет 777 разрешений, вы можете изменить их, используяchmod).

чтобы проверить, существует ли файл уже или нет. Ты можешь сделать:

<?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.
}

?>

Ваш ответ на вопрос