Télécharger un fichier par son url - PHP - Programmation
Marsh Posté le 13-06-2005 à 11:11:38
Bon on m'a parlé de requête par le protocole http donc je vais m'orienter dessus.
Merci quand même
Marsh Posté le 13-06-2005 à 12:12:32
je pense que les versions récentes de PHP permettent de faire tout bêtement un:
Code :
|
à vérifier...
Marsh Posté le 13-06-2005 à 15:41:46
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
Marsh Posté le 13-06-2005 à 15:46:10
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
Marsh Posté le 13-06-2005 à 15:47:46
ok je vais tenter de trouver comment on fait ça merci bien.
affaire a suivre
Marsh Posté le 13-06-2005 à 15:53:46
Tu peux modifier le "user-agent" envoyé par PHP avec un
Code :
|
Marsh Posté le 13-06-2005 à 15:58:14
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)
Marsh Posté le 13-06-2005 à 15:58:48
jeff@be a écrit : Tu peux modifier le "user-agent" envoyé par PHP avec un
|
tiens, ben j'ai appris un truc aujourd'hui
bon, oublies ma méthode celle la est mieux en fait
Marsh Posté le 13-06-2005 à 15:59:26
Jeff@be ta solution marche merci bien, je passe outre le user agent
thx
merci a toi aussi e-deby
Marsh Posté le 13-06-2005 à 16:16:50
rouanelion a écrit : e-deby j'ai tenté ta méthode, j'ai codé comme ça: |
Pour infos le code correct a priori :
Code :
|
Et il manquait aussi la définition du user-agent dans ta requete HTTP que tu construis.
Marsh Posté le 13-06-2005 à 10:18:57
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 ^_^