Afficher une image en PHP sans <img>

Fermé
Fornikator - 6 août 2010 à 20:35
 Utilisateur anonyme - 9 août 2010 à 00:02
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.
A voir également:

4 réponses

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
Ok merci, est ce que cela fonctionne pour : gif, bmp ?
0
Utilisateur anonyme
8 août 2010 à 02:11
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
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
Utilisateur anonyme
9 août 2010 à 00:02
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
ze-life-of-quent1 Messages postés 1582 Date d'inscription lundi 8 février 2010 Statut Membre Dernière intervention 17 octobre 2015 776
6 août 2010 à 20:39
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
magicshark Messages postés 402 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 6 mai 2014 13
6 août 2010 à 20:38
0
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
ze-life-of-quent1 Messages postés 1582 Date d'inscription lundi 8 février 2010 Statut Membre Dernière intervention 17 octobre 2015 776
6 août 2010 à 21:04
Je vais faire un petit code et le posterais dans la soirée
0
OK merci :)
0
Alors ça donne quoi ? :)
0