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

?>