Fileopen d'une image

cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 - 9 mars 2009 à 11:35
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 - 17 mars 2009 à 19:46
Bonjour,

Voici mon problème: j'ai un script php qui me permet de redimensionner mes images à la volée mais il se trouve que sur une image, le fopen me retourne une erreur 404 non trouvé alors qu'elle existe bel et bien:

Warning: fopen(http://anthony.demuylder.neuf.fr/Blender/Salle a manger/table.jpg) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found
in /home/s/siteantho/html/forum/image.php on line 18
(ligne 18 => $file =fopen($_GET['img'],'r');)

exemple:

http://anthony.demuylder.neuf.fr/Blender/Salle%20a%20manger/table.jpg' target='_blank'>http://www.siteantho.e3b.org/forum/image.php?img=http://anthony.demuylder.neuf.fr/Blender/Salle%20a%20manger/table.jpg ne marche pas alors que http://anthony.demuylder.neuf.fr/Blender/Salle%20a%20manger/table.jpg existe bel et bien
D'autres images telles que http://anthony.demuylder.neuf.fr/POV-Ray/D%E9s/D%E9s.jpg' target='_blank'>http://www.siteantho.e3b.org/forum/image.php?img=http://anthony.demuylder.neuf.fr/POV-Ray/D%E9s/D%E9s.jpg marchent parfaitement dans ce script ...

J'espère que vous pourrez m'éclairer un  peu ...

A+

Antho 25
------------------------------------
Rien n'empêche Melba

3 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
9 mars 2009 à 20:31
Salut,

Tu as un problème avec les caractères spéciaux, essais ça :
$file =fopen($_GET['img'],'r');
=>
$file = fopen(htmlentities($_GET['img']),'r');

A vu de nez ça devrait le faire.

Cordialement,

Kohntark -
0
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
9 mars 2009 à 20:49
Ah, oui en effet, mis à part que c'est pas htmlentities (remplace les caractère spéciaux par &qqch;) mais urlencode, sauf qu'il faut preserver / et : ... en gros:
$file= fopen(str_replace('%3A',':',str_replace('%2F','/',urlencode($_GET['img']))),'r');

Ça m'affiche toujours une erreur mais ç'est étrange car sous Firefox ça donne:
L'image “http://www.siteantho.e3b.org/forum/image.php?img=http://anthony.demuylder.neuf.fr/Blender/Salle%20a%20manger/table.jpg” ne peut être affichée car elle contient des erreurs.
Et sous IE comme avant ...

Merci de ta réponse, qui m'a quand même fait avancer ...

A+

Antho 25
------------------------------------
Rien n'empêche Melba
0
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
17 mars 2009 à 19:46
Bon, j'ai enlevé les str_replace, et ça a changé par rapport au début, maintenant ça me met un "Connection timed out" dans l'erreur du fopen(). Je pense pas que ça apporte grand chose mais je le signale.

Personne n'a une nouvelle idée ?

A+

Antho 25
------------------------------------
Rien n'empêche Melba
0
Rejoignez-nous