Erreur sur un fopen

Eléphant du PHP | 133 Messages

23 août 2011, 23:41

bonsoir ,
mon code actuel utilise des fichier txt
donc via la fonction fopen j'ai acces a ces fichiers

je me retrouve actuellement avec une fonction qui bloque ,
je dois ecrire simultanement dans 2 fichiers txt bien distinct l'un de l'autre .
le premier fonctionne tres bien sans soucis
puis pour le second ca bloque
j'ai pourtant utilisé la meme commande
mais le fopen refuse et me retourne ca :

Warning: fopen(http://www........../images.up) [function.fopen]: failed to open stream: HTTP wrapper does not support writeable connections in /homez.154/....beta1.php on line 687

voici en quelques lignes le fonctionnement du code

1/ je trace l'action d'un utilisateur (loggé ou non) dans un fichier txt <= cette fonction marche tres bien ,ouverture puis ecriture dans le fichier.txt
2/ puis je recupere le cookie du visiteur (si present , sinon je passe) et je le compare a la BDD txt <= ouverture et lecture du fichier.txt pour comparaison , fonctionne tres bien
3/ comme je dois garder trace du cookie dans la suite du code , je dois ouvrir un fichier pour ecrire une nouvelle ligne dans ce fameux second fichier.txt.

et c'est la que le fopen retourne l'erreur , je pense que cela vient du second fopen (2) car comme je suis a la suite il est pas refermé (pas de fclose)
comme c'est une boucle qui controle toute les lignes du fichier txt une par une pour trouver presence du compte je peux pas fermer n'importe ou .
par defaut il se ferme apres le (3) .
je pense que 2 fopen ouvert en meme temps ben ca met le dawa enfin , je sais pas trop , c'est pour cela qu eje voudrais un avis.

savoir si deja on idée des 2 fopen en meme temps peut bloquer le second

cdt

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

23 août 2011, 23:50

salut,

a tu compris le message d'erreur ?

je pense que non je vais donc le décrypter
Warning: fopen(http://www........../images.up) [function.fopen]: => la PHP te dit qu'il y a un soucis avec la fonction fopen qui a en paramètre la chaine http ...../images.up
failed to open stream: => la php te dit qu'il arrive pas ouvrir le fichier et la raison suis
HTTP wrapper does not support writeable connections => ah ben le wrapper http ne supporte pas l'écriture
in /homez.154/....beta1.php on line 687 => le fichier la ligne.

donc clairement ton allow_url_fopen est àoff et tu passe une url a une fonction donc ça ne fonctionne pas.

plus d'explication dans la doc de fopen dans la description des paramètres.

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 133 Messages

24 août 2011, 00:02

je viens de trouver
j'ai mis :
$compte_dossier = ('http//www.siteweb.com/gb/pseudo/images.up') ;
$trace_fichier_compte=fopen($compte_dossier , 'a+');  

alors qu'il faut :
$compte_dossier = ('gb/pseudo/images.up') ;
$trace_fichier_compte=fopen($compte_dossier , 'a+');  

tous simplement et la ca marche :)
merci pour ta reponse moogli

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

24 août 2011, 08:05

^^

peut tu noter ton sujet résolu ?

@+
Il en faut peu pour être heureux ......