IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Récupérer un nom de fichier depuis une page de téléchargement.


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 159
    Points : 91
    Points
    91
    Par défaut Récupérer un nom de fichier depuis une page de téléchargement.
    Bonjour à tous,

    J'ai actuellement un script de téléchargement qui renvoie un fichier image avec un certain nom (le nom du fichier sur le serveur de stockage).

    Je dois réaliser un second script qui va faire appel à cette première page et récupérer une image selon certains critères.

    Pour l'instant, j'arrive à télécharger l'image de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $content = file_get_contents('http://127.0.0.1/www/RechercheImage/');
    file_put_contents('image.jpg', $content);
    où 'http://127.0.0.1/www/RechercheImage/index.php' est le script de téléchargement d'image.

    Le problème, c'est que de cette manière, le nom de mon image téléchargée est toujours 'image.jpg' sur le serveur de mon deuxième script.
    En fait, je cherche une méthode de téléchargement plus propre qui permettrait :
    soit de récupérer les headers,
    soit de récupérer les données du header dans un tableau pour retrouver facilement le nom du fichier sur le serveur de download.

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    T'as essayé copy ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 159
    Points : 91
    Points
    91
    Par défaut
    En fait, le problème est le même avec copy().
    Il faut spécifier un nom pour le fichier de destination, et ce nom, je ne le connais pas. Je voudrais que le fichier copié ai le nom du fichier d'origine.

    EDIT :

    Bon j'ai réussi à faire ce que je voulait à l'aide de cUrl.

    Grâce à curl_setopt, on peut spécifier de récupérer les headers dans un fichiers à part, et le nom du fichier d'origine est dedans. Voila comment je récupère les headers :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $ch = curl_init("http://127.0.0.1/www/RechercheImage/");
    $fp = fopen("temp.jpg", "w");
    $hd = fopen("header.txt", "w");
     
    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_WRITEHEADER, $hd);
     
    curl_exec($ch);
    curl_close($ch);
    fclose($fp);
    Il me restera plus qu'à renommer temp.jpg avec le nom que je trouve dans le header.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    fait direct un get_headers

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 159
    Points : 91
    Points
    91
    Par défaut
    D'après ce que j'ai lu, get_headers permet seulement d'obtenir les headers.
    Il faudrait donc que je refasse par la suite un appel à file_get_contents pour obtenir mon fichier.

    Ca va faire deux appels au lieu d'un ça non ? Ou j'ai pas compris comment fonctionnait get_headers ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DOS] Récupérer un nom de fichier depuis DIR
    Par palcoquoz dans le forum Scripts/Batch
    Réponses: 9
    Dernier message: 19/05/2017, 21h20
  2. Imprimer un fichier depuis une page web?
    Par mickael28 dans le forum ASP
    Réponses: 7
    Dernier message: 26/09/2008, 08h14
  3. [Système]Récupérer un nom de fichier dans une table
    Par denis76000 dans le forum Access
    Réponses: 7
    Dernier message: 04/04/2007, 11h24
  4. Récupérer des noms de fichiers dans une table ?
    Par florus dans le forum Access
    Réponses: 5
    Dernier message: 25/03/2006, 17h34
  5. [Javamail] Upload fichier depuis une page JSP
    Par matthieulombard dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 01/12/2005, 18h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo