Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Afficher/ télécharger une image distante [ Réseau & Internet / Sockets ] (waterw72)

mercredi 2 avril 2008 à 11:27:23 | Afficher/ télécharger une image distante

waterw72

Membre Club
Bonjour,
J'essaye d'afficher une image se trouvant sur un site distant.
J'obtiens une erreur 403 (accès refusé).
Je peux pourtant voir cette image avec mon navigateur.
Pourquoi?
function GetImage($sUrlImage) {
        $aData = explode("/", $sUrlImage);
        $sHost = $aData[0];
        $sImage = $aData[sizeof($aData)];
        $sPath = "/";
        for ($i=1;$i < sizeof($aData);$i++) {
            $sPath .=  $aData[$i] . "/";
        }
        $sPath = substr($sPath, 0, strlen($sPath)-1); // enlever le dernier "/"
        echo "<font color=\"blue\"><br />HOST : " . $sHost;
        echo "<br />GET : " . $sPath;
        echo "<br /></font>";
               
        $rFp = fsockopen($sHost, 80, $errno, $errstr, 30);
        if (!$rFp) {
            echo "$errstr ($errno)<br />\n";
        } else {
                   
            fputs($rFp, "GET $sPath HTTP/1.0\r\n");
            fputs($rFp, "Host: $sHost\r\n");
            fputs($rFp, "Referer: http://www.perdu.com\r\n");
            fputs($rFp, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n\r\n");
           
            $iCompteur = 0;
            while (!feof($rFp)) {
                // incrémentation
                $iCompteur++;
               
                // récupération des liens
                $ligne = fgets($rFp, 4096);
               
                // si c'est la première ligne
                if ($iCompteur == 1) {
                    $response = explode(" ", $ligne); // HTTP:1.1 200 OK
                    $code = $response[1];
                   
                    switch ($code) {
                        case 404:
                            echo "<font color=\"red\">" . "Erreur : $code <br /></font>";
                            break;
                        case 302:
                            echo "<font color=\"orange\">" . "Erreur : $code <br /></font>";
                            break;
                        case 200:
                            // affichage de la page
                            echo "<font color=\"green\">" . htmlentities($ligne) . "</font><br />";
                            break;
                    }
                }
               
               
                echo $ligne;
            }
        }
    }

mercredi 2 avril 2008 à 12:15:30 | Re : Afficher/ télécharger une image distante

nicomilville

Membre Club
Salut,

met l'adresse de la page qui contient l'image dans l'atribut src de ta balise <img />

Si t'a besoin d'aide, MP !!!


mercredi 2 avril 2008 à 12:31:11 | Re : Afficher/ télécharger une image distante

waterw72

Membre Club
je veus que ce soit la page php qui demande l'image et qui la copie en local. pour l'afficher à partir de la page php.
je ne veux pas que ce soit mon navigateur qui demande l'image.
Mais merci qd mm.

mercredi 2 avril 2008 à 12:42:52 | Re : Afficher/ télécharger une image distante

nicomilville

Membre Club
ok ba désolé du dérangement, je vais suivre ce sujet, ça m'intéresse de savoir le fin mot de l'histoire !!

Si t'a besoin d'aide, MP !!!


mercredi 2 avril 2008 à 13:32:21 | Re : Afficher/ télécharger une image distante

yoman64

Membre Club
Réponse acceptée !
Salut,

Je comprends pas pourquoi tu sors du html sur une page qui devrait afficher une image ? de plus tu ne mets aucun headers, donc même si ça fonctionnait l'image s'afficherait pas. A moin que tu essais de récuperer un lien vers une image a partir d'une page web distante et non pas l'image en tant que telle ?

Sinon je trouve que tu te complique un peu la vie pour rien.

<?php
header('Content-type: image/gif');
readfile('http://www.google.ca/intl/en_ca/images/logo.gif');
?>

Évidement tu dois avoir les fopen wrappers actifs.
Parce que dans l'état des choses ton code ne peut pas fonctionner si son but est d'afficher l'image : tu ne n'isole pas les données reçu, tu echo n'importe quoi, etc.

Sinon donne nous l'adresse de l'image pour qu'on voit qu'est-ce qui cause ton erreur 403, ça peut être beaucoup de choses (le serveur blacklisté, le referer qui est mauvais, il faut être authentifié, etc).
-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  



Cette discussion est classé dans : ligne, echo, spath, adata, rfp


Répondre à ce message

Sujets en rapport avec ce message

sa bug [ par g0belin ] Parse error: parse error, unexpected $ in c:\easyphp\www\site\news_com.php on line 240--------CODE (note. ligne 240 fin de la pge html)----require "/p Ligne de couleur [ par forchrisw ] je voudrais affichier a l'ecran une lign esur deux comment je peux fairevoici mon code//Pour charger les infos de connection$connect=mysql_connect($ho aide pour dessiner un tableau avec echo ( livre d'or) [ par agentTMORT ] while ($ligne = mysql_fetch_object ($res)) {echo "";echo ""; echo "&l indexation et défillement [ par toffis ] Bonjour,J'ai un petit probleme avec ce script compte tenu que l'indexation avec LIMIT ne fonctionne pas dans ce cas,je voudrais quand même avoir la po pret à me jeter par la fenetre (delete mysql) [ par sniperts ] voila je veux supprimer des champs via un formulaire dynamiquele formulaire se charge bien , mais la suppression ne fonctionne pas, qqn peut m aider!v Erreur de syntaxe [ par zizou94 ] BonjourJe suis entrain de creer une barre de navigation pour un affichage de resultat. je pense que mon code est un peu pres bon mais lors de l'affich upload image [ par zizou94 ] bonjourje suis debutant dans la programmation et la je seche. pouvez vous m'aider ?j'ai creer une page pour la gestion des articles et a la ligne ajou upload image [ par zizou94 ] bonjourje suis debutant dans la programmation et la je seche. pouvez vous m'aider ?j'ai creer une page pour la gestion des articles et a la ligne ajou a l'aide mise en place code [ par zizou94 ] bonjour a tous je vous explique mon souci, je suis novice mais alors vraiment novice dans la programmation en php, j'y passe mes jours et mes nuits.J Retour à la ligne [ par Bowlest ] Bonjour, Mon problème est tout simple: <br


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,279 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.