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 :

Enregistrer une image depuis un URL avec PHP


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 16
    Par défaut Enregistrer une image depuis un URL avec PHP
    Bonjour,
    Je cherche à enregistrer l'image d'une URL dans le repertoire Downloads de mon PC sous windows.
    Pourquoi ce script ne fonctionne pas?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $path_source = 'https://*******/QR/logo_source.png';
    $path_dest = 'C:/Users/Francois/Downloads/logo_dest.png'; //le chemin du dossier telechargements sur mon PC
    // Enregistrer l'image
    file_put_contents($path_dest, file_get_contents($path_source));
    A noter que je récupère et affiche facilement l'image dans le browser avec le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $TheImage = file_get_contents(https://*******/QR/logo_source.png');
    echo $TheImage; //Affiche l'image récupérée
    Merci de votre aide

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 342
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 342
    Billets dans le blog
    17
    Par défaut
    Le PHP est exécuté où et comment ?

    Et si tu enregistres l'image dans le répertoire courant pour commencer ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $path_source = 'https://*******/QR/logo_source.png';
    $path_dest = 'C:/Users/Francois/Downloads/logo_dest.png'; //le chemin du dossier telechargements sur mon PC
    $path_dest = __DIR__ . '/test.png';
    // Enregistrer l'image
    file_put_contents($path_dest, file_get_contents($path_source));

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 16
    Par défaut
    Bonjour et merci pour cette réponse.
    Il s'agit d'un fichier php (load_logo.php) sur mon serveur (https;//Monsite.fr/QR/load_logo.php) que l'utilisateur va chercher et lorsqu'il y accède, ce fichier (Load_logo.php) lui permet de télécharger sur son PC, dans le répertoire Downloads (par exemple) une image qui figure également sur mon serveur (https;//Monsite.fr/QR/logo_source.png)
    Le $path_source serait donc ; 'https://Monsite.fr/QR/logo_source.png';
    Si l'utilisateur Francois a son repertoire Downloads dans 'C:/Users/Francois/Downloads/' le chemin de destination devrait être pour y charger l'image logo_source.png sous le nom de logo_dest.png
    $path_dest = 'C:/Users/Francois/Downloads/logo_dest.png';.
    C'est ce que j'essaye de faire sur mon PC sous windows, le fichier load_logo.php ne plante pas mais je ne retrouve aucun fichier chargé dans Downloads.
    J'ai essayé avec $path_dest = __DIR__ . '/logo_dest.png'; et aucun fichier nulle part.

  4. #4
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Par défaut
    Bonjour,

    Citation Envoyé par ciginfo Voir le message
    Il s'agit d'un fichier php (load_logo.php) sur mon serveur (https;//Monsite.fr/QR/load_logo.php) que l'utilisateur va chercher et lorsqu'il y accède...
    Puisque le fichier PHP est sur TON serveur, comment veux-tu qu'il connaisse l'"ordinateur" de l'utilisateur ??
    Ni 'file:///J:/xxx/www/xxx/xxx/logo_dest.png', ni __DIR__ . '/image.png' ne peut fonctionner, puisqu'on est sur TON serveur.
    D'autant que TU ne peux pas imposer à l'utilisateur dans quel dossier (sur SON ordinateur !) il doit l'enregistrer...

    Il me semble que la solution ici est d'"afficher" l'image, et d'en "forcer le téléchargement" :


  5. #5
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 342
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 342
    Billets dans le blog
    17
    Par défaut
    ni __DIR__ . '/image.png' ne peut fonctionner
    Ben si, ça l'enregistre sur le serveur, à côté du script

  6. #6
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Par défaut
    Citation Envoyé par Séb. Voir le message
    Ben si, ça l'enregistre sur le serveur, à côté du script
    On est d'accord.
    J'ai testé les 2, avec le fichier PHP sur MON ordinateur,
    et ça fonctionne (via Wampserver) : l'image s'enregistre bien sur MON ordinateur.

Discussions similaires

  1. Réponses: 5
    Dernier message: 05/12/2008, 10h11
  2. [MySQL] Afficher une image sélectionnée dans base avec php
    Par fAdoua123 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/03/2008, 18h25
  3. Enregistrer une image depuis une url
    Par joeyinbox dans le forum Windows
    Réponses: 2
    Dernier message: 23/10/2006, 20h00
  4. [Image] Enregistrer une image générée par un script PHP
    Par navis84 dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 22/05/2006, 17h35

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