2010-11-10 12 views
-1

Je suis en train de créer une copie d'un fichier qui se trouve sur un serveur distant à mon serveur via un code php en utilisant curl .... Le problème est, le fichier se trouve à une adresse URL similaire à celle http://www.xyz.com/file.aspx...So lorsque cette URL est utilisée/cliquée, elle demande un téléchargement du fichier .txt qui est exactement le fichier que j'essaie de créer une copie de .... L'URL ne donne explicitement pas sur le nom de fichier ... Il ne vous demande que le fichier .txt quand on clique sur ... Donc, y a-t-il un moyen de trouver le fichier que cette url pointe vers quelque code php? .. Merci d'avance ...Trouver l'url/chemin réel d'un fichier à partir de son URL apparent

-pcup

+2

Un "." par phrase est suffisant. –

Répondre

0

Le fichier aspx est probablement en sortie des en-têtes qui indiquent à votre navigateur le nom du fichier qu'il est sur le point de transmettre, puis envoie le contenu du fichier. Je fais souvent ce avec le code PHP pour retourner les fichiers pdf:

$filename = "/path/on/server/to/file.pdf"; 
header("Content-Type: application/pdf"); 
header("Content-Disposition: inline; filename=" . '"' . basename($filename) . '"' . ";"); 
header("Content-Transfer-Encoding: binary"); 
header("Content-Length: " . filesize($filename)); 
set_time_limit(0); 
readfile($filename); 

Lorsque vous faites votre demande boucle à la page ASPX, vérifiez les en-têtes qui sont renvoyés par le serveur pour déterminer le nom réel du fichier qui est en cours revenu.

0

Si vous faites 'curl' sur la ligne de commande, obtenez-vous le fichier que vous voulez? La bibliothèque CURL en PHP devrait faire la même chose ... vous n'avez pas besoin de connaître le nom du fichier si vous connaissez l'URL à obtenir pour que le serveur vous envoie le fichier.

+0

Exactement ... Je n'ai pas besoin du nom du fichier ... Je veux juste une copie de celui-ci. La raison pour moi de demander si trouver son chemin était possible parce que cela aurait fait mon travail beaucoup plus facile .. Toutes les alternatives sont les bienvenues aussi ... – pcup

0

L'adresse URL ne "pointe" nulle part. L'URL est celle que vous avez saisie.

Le serveur définit l'en-tête MIME content-disposition. Vous pouvez y accéder via Curl en définissant l'option CURLOPT_HEADER avec curl_setopt().