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

  FORUM HardWare.fr
  Programmation
  PHP

  Télécharger un fichier par son url

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Télécharger un fichier par son url

n°1117905
rouanelion
Posté le 13-06-2005 à 10:18:57  profilanswer
 

Bonjour,
 
Auriez-vous une fonction en php qui permet de télécharger un fichier, dans un dossier temp situé en local, par son url.
Je ne veux pas le lire et apres le copier dans un autre fichier donc fread etc pas la peine. Je veux le télécharger et le mettre en local sur mon HDD. Si vous avez une fonction ou une page expliquant une méthode merci de me la communiqué car perso je trouve pas...Je suis bloqué T_T
 
Merci et @+
 
P.S: Je fais pas un logiciel peertopeer alors vous trompez pas dans ma question c'est juste pour récup des fichiers text de 30 kilos max ^_^

mood
Publicité
Posté le 13-06-2005 à 10:18:57  profilanswer
 

n°1118007
rouanelion
Posté le 13-06-2005 à 11:11:38  profilanswer
 

Bon on m'a parlé de requête par le protocole http donc je vais m'orienter dessus.
Merci quand même

n°1118160
jeff@be
Posté le 13-06-2005 à 12:12:32  profilanswer
 

je pense que les versions récentes de PHP permettent de faire tout bêtement un:
 

Code :
  1. copy('http://mydomain.tld/path/to/file.ext','/path/to/local/file.ext');


 
à vérifier...

n°1118450
rouanelion
Posté le 13-06-2005 à 15:41:46  profilanswer
 

j'ai essayé ça
copy('http://www.hardware.fr/backend/news.xml','/path/toto/news.xml');
et j'ai eu comme réponse dans le fichier créé cela :
<HTML>
<BODY>
<FONT face=arial size=2>Attention, agent utilisateur du navigateur vide !</FONT>
</BODY>
</HTML>
 
Quelqu'un a une idée

n°1118461
e-deby
Posté le 13-06-2005 à 15:46:10  profilanswer
 

pas de chance, le serveur HTTP vérifie l'user-agent
 
seule solution, fsockopen() et requete HTTP à la main, en remplissant bien tous les champs
 
ensuite, tu lis le fluc renvoyé et tu l'écris dans un fichier


---------------
Pour les sudistes :)
n°1118464
rouanelion
Posté le 13-06-2005 à 15:47:46  profilanswer
 

ok je vais tenter de trouver comment on fait ça merci bien.
affaire a suivre

n°1118475
jeff@be
Posté le 13-06-2005 à 15:53:46  profilanswer
 

Tu peux modifier le "user-agent" envoyé par PHP avec un  
 

Code :
  1. ini_set('user_agent','[références du client]');

n°1118486
rouanelion
Posté le 13-06-2005 à 15:58:14  profilanswer
 

e-deby j'ai tenté ta méthode, j'ai codé comme ça:
$fp = fsockopen("http://www.hardware.fr/backend/news.xml", 80, $errno, $errstr, 30);
if (!$fp) {
   echo "$errstr ($errno)<br />\n";
} else {
   $out = "GET / HTTP/1.1\r\n";
   $out .= "Host: http://www.hardware.fr/backend/news.xmlrn";
   $out .= "Connection: Close\r\n\r\n";
 
   fwrite($fp, $out);
   while (!feof($fp)) {
       echo fgets($fp, 128);
   }
   fclose($fp);
}
et j'ai eu le message suivant :
Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/html/test/RSS/FileTemp/phprecup.php on line 7
 
Warning: fsockopen(): unable to connect to http://www.hardware.fr/backend/news.xml:80 in /var/www/html/test/RSS/FileTemp/phprecup.php on line 7
Success (0)

n°1118489
e-deby
Posté le 13-06-2005 à 15:58:48  profilanswer
 

jeff@be a écrit :

Tu peux modifier le "user-agent" envoyé par PHP avec un  
 

Code :
  1. ini_set('user_agent','[références du client]');



 
tiens, ben j'ai appris un truc aujourd'hui
 
bon, oublies ma méthode celle la est mieux en fait :p


---------------
Pour les sudistes :)
n°1118490
rouanelion
Posté le 13-06-2005 à 15:59:26  profilanswer
 

Jeff@be ta solution marche merci bien, je passe outre le user agent
thx
merci a toi aussi e-deby


Message édité par rouanelion le 13-06-2005 à 16:02:05
mood
Publicité
Posté le 13-06-2005 à 15:59:26  profilanswer
 

n°1118512
ratibus
Posté le 13-06-2005 à 16:16:50  profilanswer
 

rouanelion a écrit :

e-deby j'ai tenté ta méthode, j'ai codé comme ça:
$fp = fsockopen("http://www.hardware.fr/backend/news.xml", 80, $errno, $errstr, 30);
if (!$fp) {
   echo "$errstr ($errno)<br />\n";
} else {
   $out = "GET / HTTP/1.1\r\n";
   $out .= "Host: http://www.hardware.fr/backend/news.xmlrn";
   $out .= "Connection: Close\r\n\r\n";
 
   fwrite($fp, $out);
   while (!feof($fp)) {
       echo fgets($fp, 128);
   }
   fclose($fp);
}
et j'ai eu le message suivant :
Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/html/test/RSS/FileTemp/phprecup.php on line 7
 
Warning: fsockopen(): unable to connect to http://www.hardware.fr/backend/news.xml:80 in /var/www/html/test/RSS/FileTemp/phprecup.php on line 7
Success (0)


Pour infos le code correct a priori :

Code :
  1. $fp = fsockopen("www.hardware.fr", 80, $errno, $errstr, 30);
  2. if (!$fp) {
  3.    echo "$errstr ($errno)<br />\n";
  4. } else {
  5.    $out = "GET /backend/news.xml HTTP/1.1\r\n";
  6.    $out .= "Host: www.hardware.frrn";
  7.    $out .= "Connection: Close\r\n\r\n";
  8.    fwrite($fp, $out);
  9.    while (!feof($fp)) {
  10.        echo fgets($fp, 128);
  11.    }
  12.    fclose($fp);
  13. }

Et il manquait aussi la définition du user-agent dans ta requete HTTP que tu construis.


Message édité par ratibus le 13-06-2005 à 16:23:49
n°1118518
rouanelion
Posté le 13-06-2005 à 16:20:47  profilanswer
 

merci de l'info ratibus ^^

n°1118564
flo850
moi je
Posté le 13-06-2005 à 17:01:16  profilanswer
 

[:drapo]


---------------


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

  Télécharger un fichier par son url

 

Sujets relatifs
telecharger un fichier texte[Delphi 7] comment telecharger un fichier ?
[java] telecharger n'importe qu'elle fichier[PHP - Debutant] Comment telecharger un fichier?
Comment inserer 1 fichier a telecharger sur un site ?[PHP] Fonction permettant de télécharger un fichier....
[VC++] télecharger un fichier sur internet<<RESOLUtelecharger un fichier à partir d'une url
un script pour telecharger un fichier .txt sur un ftp toute les 2 hComment télécharger un fichier ?
Plus de sujets relatifs à : Télécharger un fichier par son url


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