2011-03-07 5 views
2

J'essaye d'écrire un fichier php et de lui donner la permission d'être éditable tout de suite après sa création.php chmod usage

Voici mon code:

<?php 

$var = '<?php $mycontent = new Content(); echo $mycontent->block($p_name);?>'; 

$myFile = "testFile.php"; 
$fh = fopen($myFile, 'w+') or die("can't open file"); 
$stringData = $var; 
fwrite($fh, $stringData); 

fclose($fh); 

chmod("tests/testFile.php", 0644); 

?> 

Pour une raison quelconque, il ne fonctionne pas. Le fichier créé n'est toujours pas modifiable sauf si je définis manuellement les autorisations. tests/est le répertoire où le fichier a été créé.

Une idée?

Répondre

1
$myFile = "testFile.php"; 
$fh = fopen($myFile, 'w+') or die("can't open file"); 
chmod("tests/testFile.php", 0644); 

Les fonctions que vous appelez font référence à deux fichiers différents. Un dans le répertoire de votre script PHP et un dans un répertoire appelé tests. Choisissez-en un, mettez à jour votre code et voyez si cela fonctionne pour vous.

+0

Le script qui crée le fichier se trouve dans le même dossier que celui où le fichier a été créé. J'ai essayé ceci mais ne fonctionne pas: $ myFile = "testFile.php"; $ fh = fopen ($ monFichier, 'w +') ou die ("impossible d'ouvrir le fichier"); chmod ("testFile.php", 0644); – Mauro74

+0

Avez-vous essayé de le définir sur 0777, ou de vérifier manuellement les permissions de fichier pour voir si le script affecte réellement le bon fichier? – Sam152

+0

Merci Sam, ça marche maintenant avec la permission 0777. :) – Mauro74