Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks
Bibliothèques et frameworks Forum d'entraide sur les frameworks, templates, bibliothèques de code (PDFLib, eZPdf, JpGraph, Artichow, PEAR, etc). Avant de poster : FAQ bibliothèques, toutes les FAQ PHP et cours bibliothèques
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/11/2006, 20h38   #1
Invité de passage
 
Inscription : avril 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 24
Points : 4
Points : 4
Par défaut [cURL] Redirection avec Curl: Une curiosité ?

bonjour à tous,

je viens de de faire un petit test avec curl qui normalement est capable de faire une redirection. Hors cela à marché avec une page html, cela marché aussi avec une image mais pas du tout avec un fichier distant. Pourtant cette possibilté m'aurait bien rendu service entre mes différents sites. Voila donc les essais que j'ai fait.

Le test avec une page html: ça marche elle s'affiche...

Code :
1
2
3
4
5
6
7
8
9
<?
$url = "http://www.google.fr/intl/fr/about.html";
 
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$result = curl_exec($ch);
curl_close ($ch);
?>
le même avec l'image, elle s'affiche sans problème...

Code :
1
2
3
4
5
6
7
8
9
 <?
$url = "http://www.google.fr/intl/fr_fr/images/logo.gif";
 
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$result = curl_exec($ch);
curl_close ($ch);
?>
et enfin celui d'un fichier. Dans ce troisième et dernier cas, je suppose que la page web contient le fichier puisqu'un tas hieroglyphe apparait sur l'écran mais aucun téléchargement ne démarre. Je suppose que c'est un problème de header mais je ne vois pas comment dire à curl de lancer un téléchargement ou lieu de lancer celui-ci dans la page elle-même ?

Donc on est bien d'accord, par téléchargement j'entends le téléchargement de fichier comme vous le faites sur n'importe quel site de download sur internet et non pas le téléchargement du fichier dans un des répertoire du serveur.

Code :
1
2
3
4
5
6
7
8
9
10
11
 
 
<?
$url = "http://dl.google.com/earth/GE4/GoogleEarthWin.exe";
 
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$result = curl_exec($ch);
curl_close ($ch);
?>
Voila, si vous avez une idée, elle sera la bienvenue...
cybertj est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2006, 21h11   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Vous semblez oublier que PHP est exécuté côté serveur et vous impose généralement une limite de 30 secondes pour l'exécution du script avant d'y mettre automatiquement fin. Il faudrait donc le télécharger sur le serveur avant de le renvoyer au client (téléchargement du serveur distant à votre serveur PHP puis de ce dernier à vous).


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2006, 21h20   #3
Invité de passage
 
Inscription : avril 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 24
Points : 4
Points : 4
J'y ai déjà pensé... J'ai essayé avec un tout petit fichier, le résultat est le même...

Ce qui me surprend vu la puissance et les options de curl, c'est de ne pas avoir eu un comportement identique à une fonction php bien connue:

Code :
 header('Location: http://dl.google.com/earth/GE4/GoogleEarthWin.exe);
Et c'est là que je demande votre aide... C'est possible ou pas ?
cybertj est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h14.


 
 
 
 
Partenaires

Hébergement Web