Afficher une image en PHP sans <img>

Fornikator -  
 Utilisateur anonyme -
Bonjour,

J'aimerais savoir comment afficher une image en PHP sans <img>.

Comme ici : http://www.images-host.fr

L'image est affiché en PHP sans code source.

Merci d'avance.

4 réponses

  1. Utilisateur anonyme
     
    salut à tous
    bon bah il suffit de connaitre l'extension de l'image et ceci est facile avec le php (preg_match mais moi j'utilise split)
    voici le code que je te proposes
    <?php 
    $img=$_GET['img'];   //j'obtiens l'image 
    @$ext=split('\.',$img);  //tableau dont la derniere case est //l'extension 
    $taille=count($ext);  //taille du tableau  
    $taille=$taille-1;     //pointeur de la derniere case  
    $extention=$ext[$taille];   //l'extention 
    if($extention=='jpg') 
    { 
    $extention='jpeg';   //eviter jpg car seul jpeg marche avec imagecreate 
    } 
    header ('Content-type: image/'.$extention.''); 
    $function_create='imagecreatefrom'.$extention; 
    $image = $function_create($img); 
    $function_out='image'.$extention; 
    $function_out ($image); 
    ?> 
    

    "@" au niveau du split sert eviter l'affichage d'une errreur idiote de fonction obsolete
    allez amuses toi bien et bonne continuation ;)
    @+
    8
    1. Fornikator
       
      Ok merci, est ce que cela fonctionne pour : gif, bmp ?
      0
    2. Utilisateur anonyme
       
      normalement pour tout les formats images mais ce script peut avoir un bug sur les bmp donc voici une autre alternative
      <?php
      $img=$_GET['img'];
      @$ext=split('\.',$img);
      $taille=count($ext);
      $taille=$taille-1;
      $extention=$ext[$taille];
      if($extention=='jpg')
      {
      $extention='jpeg';
      }
      header ('Content-type: image/'.$extention.'');
      echo file_get_contents($img);
      ?>
      

      bon avec celui ci tout marche plus besoin de poser de question
      @+ ;)
      0
    3. Fornikator
       
      Oui tous marche, mais si j'ai encore des questions. :p

      Pourquoi quand il y a pas d'image renseigné sa nous fait téléchargé le fichier .php ?
      Et puis, est ce que ce script ne comporte pas de failles de sécurité pour récupérer des fichier dans le FTP avec ../ dans le GET ?
      0
    4. Utilisateur anonyme
       
      oui ce code peut contenir des failles très facile à corriger tout d'abord l'exisence d'un fichier index permettra d'éviter la visualisation des fichiers dans le dossier source maintenant il te suffit de créer une fonction qui donnera les extentions à eviter tel .mp3 .php .... donc il suffit de bien verifier la variable $extention elle doit être différente de tous les autres extentions (autres que des images) présentes sur le serveur soit
      if($extention=='php')
      {
      $error='ah tu veux mes fichiers php'
      }
      if($extention=='mp3')
      {
      $error='ah tu veux mes fichiers mp3'
      }
      
      //ainsi de suite pour proteger le autres fichiers
      


      pour le telechargement ceci est du à une erreur dans les header il faut donc verifier tout d'abord si $img est vide avec empty($img)
      bon voici le code

      <?php
      if(!empty($img))
      {
         $img=$_GET['img'];
         @$ext=split('\.',$img);
         $taille=count($ext);
         $taille=$taille-1;
         $extention=$ext[$taille];
      //les conditions sur certaines extentions cités plus haut
        if(empty($error))
        {
               if($extention=='jpg')
               {
                $extention='jpeg';
                }
                header ('Content-type: image/'.$extention.'');
               echo file_get_contents($img);
        }
        else
        {
        echo 'tentative de vol de fichiers serveurs >_<'
        }
      }
      else
      {
      echo 'entrez une image';
      }
      ?>
      
      
      0
  2. ze-life-of-quent1 Messages postés 2169 Statut Membre 780
     
    Bonjour,
    <?php
     // Dé commentez la ligne qui vous intéresse:
    // header("Content-type: image/gif");
    // header("Content-type: image/png");
    // header("Content-type: image/jpeg");
    
    // Remplacez ladressedemonimage par l'adresse de votre image
     require("ladressedemonimage");
    ?>
    
    1
  3. Fornikator
     
    ze-life-of-quent1 : Ok, mais moi c'est pour un hébergeur d'image et il y aura plusieurs extensions différente : jpeg, jpg, png, gif, bmp.
    Faire un GET comme ce site : http://www.images-host.fr

    C'est quoi qui faut mettre pour les extensions suivante : jpeg, jpg, png, gif, bmp ?

    C'est possible de faire un header("Content-type: image/gif"); mais pour toute les extension.
    0
    1. ze-life-of-quent1 Messages postés 2169 Statut Membre 780
       
      Je vais faire un petit code et le posterais dans la soirée
      0
    2. Fornikator
       
      OK merci :)
      0
    3. Fornikator
       
      Alors ça donne quoi ? :)
      0