web-dev-qa-db-fra.com

Php créer un fichier s'il n'existe pas

J'essaie de créer des fichiers et d'écrire le contenu de manière dynamique. Ci-dessous mon code.

$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;

Cependant, il ne crée pas les fichiers.

S'il vous plaît partager vos réponses et aide. Merci!

12
shyamkarthick

Essayez d'utiliser:

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

pour tester si vous pouvez créer un fichier ou non.

Si vous ne pouvez pas créer le fichier, c'est probablement parce que le répertoire n'est pas accessible en écriture à l'utilisateur du serveur Web (généralement "www" ou similaire).

Faites un chmod 777 folder dans le dossier dans lequel vous voulez créer le fichier et essayez à nouveau.

Est-ce que ça marche?

17
Alejandro Iván

Utilisez la fonction is_file pour vérifier si le fichier existe déjà ou non. Tu peux faire:

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

?>
1
Cyborg