begin process at 2012 02 15 21:52:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Réseau & Internet

 > 

Sockets

 > 

Afficher/ télécharger une image distante


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Afficher/ télécharger une image distante

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ée 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...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,388 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales