Aller au contenu

[php]warning fopen

Featured Replies

Posté(e)

Bonjour

j'ai cette erreur:

Warning: fopen(fichier.csv): failed to open stream: Permission denied in /home/icare/www/administration/gestion_requetes.php on line 186

quelqu'un connait il la solution?

merci d'avance

mon code:

if($nom_requete AND $requete)

{

$nomrequete='fichier.csv';

$fichier=fopen($nomrequete,'x+');

$requete_utilisateur=mysql_query($requete);

while($donnees=mysql_fetch_array($requete_utilisateur))

{

$aecrire=implode(';',$donnees).'\n';

fputs($fichier,"$aecrire");

}

fclose($fichier);

echo '<a href="'.$nomrequete.'">fichier</a>';

}

Posté(e)

hé bien, ca veut simplement dire que ton fichier gestion_requetes.php n'a pas les droits pour modifier un fichier :)

pour changer ca, il te faudra modifier le chroot du fichier en question

Posté(e)

a oui zut, je me suis gouré et c'est toi qui as raison, c'est bien le chmod et pas le chroot (quoique le chroot existe aussi, mais je ne crois pas qu'il influe sur ton problème)

mais tu dis que le fichier cible est en chmot 777, mais est ce que gestion_requetes.php l'est aussi ?

Posté(e)

le fichier cible, plutôt le dossier. Faut les droits d'écritures dessus, donc chmod 777 administration

Posté(e)

Puisqu'il peut exécuter le fichier php, je ne pense pas que ce soit le problème.

Qu'est ce que ça te fait si tu essaye d'ouvrir /home/icare/www/administration/fichier.csv dans un navigateur ? (en passant par 127.0.0.1 bien sûr pas par /home)

Posté(e)

.....

le fichier cible est deja en chmod 777....

il est bien la le problème, c'est que ta méthode fopen en X+ retourne un message d'erreur si le fichier existe déjà :reflechis:

change la méthode appropriée en regardant le tableau ici

autre chose, en général on ne met pas un fichier en accès ecriture/lecture dans un répertoire d'administration vu qu'on verrouille l'ecriture ca minimise les risques, plutot choisir un répertoire dédié a ce genre de chose.

Posté(e)

C'est pour ca qu'il y a la function file_exists() ...

Comme dirait Helfima, c'est pas mal de lire aussi les docs (www.php.net=>recherche=>nom de la function) avant de poster ... :bouletdujour:

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.