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 :

Test présence fichier [PHP 5.5]


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 258
    Points : 126
    Points
    126
    Par défaut Test présence fichier
    Bonjour,
    Par avance, veuillez m'excuser si cette discussion n'est pas au bon endroit, ou est un doublon (je n'ai pas trouvé de réponse dans les fils précédents)
    J'essaie de tester la présence d'un fichier (une image) sur le net
    J'ai essayé les solutions décrites :
    1) http://www.avanim-prod.com/blog/tech...url-en-php-688 (méthodes Header et Curl)
    2) https://www.developpez.net/forums/d9...rveur-distant/
    ces solutions fonctionnent correctement avec par exemple l'adresse "http://www.domain.com/demo.jpg"
    par contre me renvoient false pour l'adresse "https://i.colnect.net/b/795/474/Dattier-de-Mauritanie---Date-palm-in-Mauritania.jpg"
    Est-ce lié à l'adresse en question ? au https ?
    Par avance, merci de vos conseils
    Bertrand

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le site réagit au USER AGENT donc la méthode cURL est à retenir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $url = 'https://i.colnect.net/b/795/474/Dattier-de-Mauritanie---Date-palm-in-Mauritania.jpg';
     
    $ch = curl_init();
    curl_setopt_array($ch, array(
    CURLOPT_URL            => $url, 
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_USERAGENT	=>'Mozilla/5.0 (Windows; U; Windows NT 6.1; fr; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13'
    ));
    if (curl_exec($ch)) {
    	echo 'ok';
    }
    curl_close($ch);
    Il faut aussi recuperer le fichier de certificats :
    https://curl.haxx.se/ca/cacert.pem

    et configurer ton php.ini avec son emplacement :
    [curl]
    curl.cainfo="C:/xxxxx/cacert.pem"


    [openssl]
    openssl.cafile="C:/xxxxx/cacert.pem"
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 258
    Points : 126
    Points
    126
    Par défaut
    bonsoir et merci,
    j'ai fait les modifs , le test marche super !!! merci !!
    reste un pb quand je veux la charger
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $contents=file_get_contents($url)
    me renvoie (sous synfonie) : Warning: file_get_contents(https://i.colnect.net/b/795/474/Datt...uritania.jpg): failed to open stream: HTTP request failed!
    j'ai encore du zapper quelque chose !
    Bertrand

    EDIT : je vais chercher un peu
    Je suppose qu'il faut que je remplace "file_get_contents" par une méthode de Curl

    RE EDIT : comme toujours la réponse était dans la question
    J'ai (enfin) compris que le résultat (l'image) était dans le $
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    contents=curl_exec($ch)
    ;
    ça marche nickel, merci encore !!!!

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Remarque on peut aussi indiquer le user agent avec file_get_contents :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $options=array(
    	"http"=>array("header"  => "User-agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; fr; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13")
    );
    $response = file_get_contents($url, false, stream_context_create($options));
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 258
    Points : 126
    Points
    126
    Par défaut
    La 1ère solution me va très bien
    mais je note également la seconde
    Merci encore
    Bertrand

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

Discussions similaires

  1. Test présence de 2 fichiers
    Par kondor76 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 28/06/2013, 13h56
  2. Test présence fichier
    Par Mikadox dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/03/2012, 10h50
  3. test présence key dans fichiers properties
    Par fanchic29 dans le forum Struts 1
    Réponses: 5
    Dernier message: 24/10/2006, 17h15
  4. debutante - test existence fichier
    Par coco21 dans le forum Débuter
    Réponses: 9
    Dernier message: 12/02/2006, 12h07
  5. test sur fichiers[forms9i]
    Par Challenger dans le forum Forms
    Réponses: 6
    Dernier message: 14/06/2004, 17h25

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