CURL: connaitre le nom d'un fichier.

bibi -  
nicoGnagnon Messages postés 1 Statut Membre -
Bonjour,

Je suis actuellement entrain de faire un script PHP utilisant la lib cURL.
Pour le moment tout ce passe plutôt bien mais...

Je cherche a télécharger un fichier text, et ça marche. Je récupère bien le contenue.

Mon problème est que quand je télécharge ce fichier depuis mon navigateur il me propose de l'enregistrer avec un nom prédéfinie (son vrai nom).

Est-il possible de retrouver ce nom à l'aide de cURL? ou autre?

Merci de vos réponse

4 réponses

bibi
 
Bon j'ai trouvé une solution mais je ne suis pas sur que ce soit la plus propre ni la plus simple:

en récupérant le header de la page avec CURLOPT_HEADER => 1 je retrouve dans le header plusieurs infos dont "filename=toto.txt" donc je peux parser ce que j'ai récupérer le nom puis couper le header pour enfin enregistrer avec le bon nom...

Comme vous pouvez le voir c'est pas génial...
Donc je suis toujours ok pour une autre solution :D merci
0
zipe31 Messages postés 38797 Date d'inscription   Statut Contributeur Dernière intervention   6 435
 
Salut,

Et avec l'option "-O" de cURL ?

-O/--remote-name

Write output to a local file named like the remote file we get. (Only the file part of the remote file is used, the path is cut off.)

The remote file name to use for saving is extracted from the given URL, nothing else.

You may use this option as many times as the number of URLs you have. 
0
bibi
 
merci de ta réponse mais je ne pense pas que cela marche pour moi, mais si ça existe c'est que ça doit eter faisable.

Moi j'utilise cURL dans un script php avec donc les fonctions curl_init(), curl_setopt(), ... donc je ne sais pas comment utiliser cette option -0.

J'ai donc essayer d'utiliser la fonction curl_getinfo() mais elle ne me renvoi rien d'intéressant. Je pense que c'est parce que j'interroge un fichier dl.php qui lui me renvoi sur le fichier a télécharger ou le crée je ne sais pas.

De plus (histoire de bien compliquer...) j'ai besoin d'avoir le nom avant d'enregistrer car je veux le remodifier avant...
Si il pouvait exister une fonction comme curl_getinfo() mais qui me renvoi la variable filename du header ça serait parfait.

Merci
0
nicoGnagnon Messages postés 1 Statut Membre
 
Salut Bibi,

je m'arrache les cheveux sur un problème identique au tien.
Url de téléchargement de fichier qui ne contient pas son nom et besoin de le connaitre.
Je passe également pas un script php et avec les fonction de curl.

As tu avancé pour résoudre ton problème ou as tu garder ta solution initiale faute de mieux ?

Cordialement
0