CURL: connaitre le nom d'un fichier.

Fermé
bibi - 3 mars 2011 à 02:02
nicoGnagnon Messages postés 1 Date d'inscription mardi 22 mars 2011 Statut Membre Dernière intervention 22 mars 2011 - 22 mars 2011 à 11:27
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

A voir également:

4 réponses

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 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 408
3 mars 2011 à 11:11
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
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 Date d'inscription mardi 22 mars 2011 Statut Membre Dernière intervention 22 mars 2011
22 mars 2011 à 11:27
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