Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1956 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Resolu] Comment enregistrer une image distante?

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Resolu] Comment enregistrer une image distante?

n°822301
lio09
Posté le 13-08-2004 à 13:30:41  profilanswer
 

Bonjour,
 
je suis entrain de faire un petit script qui recupere des infos sur des sites et les enregistre dans un base de donnee. Pour le texte je n'ai aucun probleme, il en est tout autrement des images  :pt1cable:  
En analysant le code je peux recuperer l'adresse http de l'image, mais aussi bete que ça paraisse, je n'arrive pas a l'enregistrer! Je voulais d'abord utiliser "fopen" pour ensuite enregistrer l'image localement, mais l'ouverture d'image distante ne fonctionne pas sous windows!!! Comme j'ai pas specialement envie de passer a linux pour un probleme tout bete, peut etre que quelqu'un a une idee?
Merci de votre aide


Message édité par lio09 le 18-08-2004 à 15:02:16
mood
Publicité
Posté le 13-08-2004 à 13:30:41  profilanswer
 

n°822328
Xav_
The only one...
Posté le 13-08-2004 à 13:51:51  profilanswer
 

pkoi tu cherche à enregistrer les images en local ??? tu arrive à récupérer leur adresse, donc tu peux les afficher sans avoir à les héberger...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°822342
lio09
Posté le 13-08-2004 à 14:00:06  profilanswer
 

C'est simplement pour une question de securite, le jour ou le site n'existera plus, j'aurai tout fait pour rien. Et puis ça permet aussi une consultation offline en intranet avec des images, voila

n°822349
Xav_
The only one...
Posté le 13-08-2004 à 14:07:29  profilanswer
 

ok pour la 2eme raison(consultation locale), pake sinon quand le site n'existera plus, plus besoin qu'il soit référencé dans ta base ;)
 
Ben je l'ai jamais mis en oeuvre mais ya des script qui permette au visiteur d'UPLOADER des fichiers vers un site internet...
Tu regarde comment c'est fait et tu simule un UPLOAD de l'image depuis le site que tu scrute vers le tiens (tu à l'adresse de l'image, c'est tout ce qu'il te faut).
 
Je sais pas ce que ça peut donner vu que je l'ai jamais mis en oeuvre, mais bon sur le principe je suppose que ça doit marcher :D


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°822359
lio09
Posté le 13-08-2004 à 14:13:11  profilanswer
 

Je ne suis pas tout a fait sur non plus, mais l'upload de fichier ne fonctionne qu'avec un formulaire, et je n'utilise pas de formulaire, j'aimerais bien trouver autre chose...

n°822386
T509
$job->GetJob(now)
Posté le 13-08-2004 à 14:28:20  profilanswer
 

As tu regardé la fonction fsockopen() ?


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°822397
lio09
Posté le 13-08-2004 à 14:36:55  profilanswer
 

j'utilise fsockopen() deja pour recupérer le texte, tu crois que c'est possible aussi d'enregistrer les images???

n°822434
T509
$job->GetJob(now)
Posté le 13-08-2004 à 14:52:30  profilanswer
 

Je n'en sais rien, mais pourquoi cela ne fonctionnerai pas ? je crois que ça vaut le coup d'essayer.


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°822447
lio09
Posté le 13-08-2004 à 14:58:14  profilanswer
 

En fait, j'ouvre deja une connexion socket.
 
Ensuite je balance un un "GET / HTTP/1.1" pour recuperer le code html. Je ne sais pas comment faire pour avoir l'image, je suis peut etre tout pret mais il me manque quelque chose... par analogie "GET / JPG/1.0" ne fonctionne pas :D

n°823496
lio09
Posté le 15-08-2004 à 14:27:30  profilanswer
 

Je n'ai toujours pas trouve de solution  :??:  
Un petit coup de pouce?
 
 :bounce:

mood
Publicité
Posté le 15-08-2004 à 14:27:30  profilanswer
 

n°823728
yannick_fr​ere
Posté le 15-08-2004 à 21:06:23  profilanswer
 

Je ne peux pas aider, mais ça m'intéresse  :jap:

n°824162
latruffe
Bdovore
Posté le 16-08-2004 à 13:30:00  profilanswer
 

Je sais comment faire mais je n'ai pas le code ici :D
 
Je me rappelle que j'ai simplement repris un bout de code de phpBB. En effet, les forums phpBB permettent aux utilisateur d'uploader leurs avatars mais aussi de les télécharger depuis une URL. Dans ce cas, le serveur télécharge une image et la stoche en local (si j'ai bien compris, c'est ce que je cherche à faire).
 
J'ai donc crée une petite fonction du genre

Code :
  1. function recupere_image(url_de_l_image, chemin_de_sauvegarde,nom_de_fichier)


pour simplifier l'utilisation du code.
 
Donc, explore le code de phpBB (c'est libre) ou attends dans la soirée, je mettrai le code de ma fonction.


Message édité par latruffe le 16-08-2004 à 13:30:53
n°825862
lio09
Posté le 18-08-2004 à 15:00:04  profilanswer
 

OK merci.
 
En fait, j'ai rechercher sur la doc de php.net des infos supplementaires sur "imagecreatefromjpeg", et dans les commentaires des membres j'ai trouve des petits bouts de code qui fonctionne.
Du coup, avec  
 

Code :
  1. $si = fopen($imagePathURL, "r" );  // open URL  
  2.  
  3.    $serverImg = fread($si, 1000000);  // read contents  
  4.      
  5. fclose($si);  // close file  
  6.  
  7. /* open file to save to (w+ creates if file does not exist || b opens binary safe [Win32])
  8. Seemed to work fine with out the 'b' on Windows NT but just to be safe. */
  9. $si = fopen($saveImgTo, "w+b" );
  10.  
  11.    fwrite($si, $serverImg);  // write contents to file  
  12.  
  13. fclose($si);  // close file


 
ça fonctionne très bien. Je m'excuse donc d'avoir que fopen() ne fonctionne pas sur des images distantes, c faux!  
 
En fait, c imacreatefromjpeg qui ne la supporte pas!!!
 

Citation :

Avertissement
La version Windows de PHP ne supporte pas l'accès aux fichiers distants avec cette fonction, même si allow_url_fopen est activé.  


 
En tout cas merci de votre aide, je peux continuer mon petit script qui deviendra grand!
 
@ bientot
lio09


Message édité par lio09 le 18-08-2004 à 15:00:51

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Resolu] Comment enregistrer une image distante?

 

Sujets relatifs
[resolu]probleme avec php5Connexion sql server distante
Afficher petites images dans sur grande dynamiquement [RESOLU]Affichage progressif [Résolu]
[GD] [RESOLU] Probleme avec imagecolorallocate[vba]Optimisation du code pour la rapidité (résolu)
[néophyte]Comment coller une image sous une autrereplace[resolu]
[VBA]Passer d'une zone de texte à une autre (résolu) 
Plus de sujets relatifs à : [Resolu] Comment enregistrer une image distante?


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR