Rechercher : dans
Par :

Vérifier si une valleur d'un array existe

Dernière réponse le 20 jun 2009 à 19:24:37 lucas34, le 20 jun 2009 à 10:10:51 
 Signaler ce message aux modérateurs

Bonjour, j'utilise actuellement ce code :

  $fichier = "upload/";
  $filename = $_GET['id_img'];
  $point = ".";
  $total = $fichier.$filename.$point;
  $jpg = "jpg";
  $jpeg = "jpeg";
  $bmp = "bmp";
  $gif = "gif";
  if (file_exists($total.$jpg))
    {
      echo '<img src="'.$total.$jpg.'" border="0" alt="" />';
    }
  else if (file_exists($total.$jpeg))
    {
      echo '<img src="'.$total.$jpeg.'" border="0" alt="" />';
    }
  else if (file_exists($total.$bmp))
    {
      echo '<img src="'.$total.$bmp.'" border="0" alt="" />';
    }
  else if (file_exists($total.$gif))
    {
      echo '<img src="'.$total.$gif.'" border="0" alt="" />';
    }
  else
    {
      echo 'Une erreur s\'est produite';
    }


Vous l'aurais compris, il permet de savoir si une image existe et de l'afficher. Mais cette fonctionne est assai lourde. Je voudrais savoir comment je peut faire pour la recourcir. J'ai une petite idée, faire un tableau (array) avec toute les extensions :

$ext = array('jpg', 'jpeg', 'bmp', 'gif'); et utiliser la fonction : in_array()
et ..... C'est la que je ne sais pas comment faire, comment vérifier si le fichier existe pour chaque extension et si il existe, afficher l'image.

Si vous avez compris, aidez moi.
Merci
Lucas

1

dodoecchi, le 20 jun 2009 à 10:12:10

Ce serait pas ça que tu cherches ? http://fr3.php.net/manual/fr/function.array-key-exists.php

Dorian Je rencontre encore trop souvent des dinosaures sur CCM!! In­ternet Explorer 6 n'est pas encore une espèce disparue! Quel­le horreur!

Répondre à dodoecchi

2

lucas34, le 20 jun 2009 à 13:27:55

J'ai cherché sur le site que tu ma donnée mais je n'ai pas su adapter les scripts qui y sont présenté. Je ne sais toujours pas comment faire

Répondre à lucas34

3

Dalida, le 20 jun 2009 à 14:09:55

Salut,

tu peux améliorer un peu ton script mais le problème c'est que tu as le nom du fichier mais pas son extension.
ne peux-tu pas réorganiser le tout pour avoir à la fois le nom et l'extension ?

<?php
	define('DIR', 'upload/');
	$filename = $_GET['id_img'];

	switch(true)
	{
		case file_exists(DIR.$filename.'.jpg'):
			echo '<img src="'.DIR.$filename.'.jpg'.'" alt=""/>';
			break;

		case file_exists(DIR.$filename.'.jpeg'):
			echo '<img src="'.DIR.$filename.'.jpeg'.'" alt=""/>';
			break;

		case file_exists(DIR.$filename.'.bmp'):
			echo '<img src="'.DIR.$filename.'.bmp'.'" alt=""/>';
			break;

		case file_exists(DIR.$filename.'.gif'):
			echo '<img src="'.DIR.$filename.'.gif'.'" alt=""/>';
			break;

		default:
			echo 'Une erreur s\'est produite';
	}
?>
[ Mathieu ]
Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

4

 lucas34, le 20 jun 2009 à 19:24:37

C'est PARFAIT !
Merci

Répondre à lucas34