Recuperation d'image dans un répertoire

Répondre
brutos
le 08/12/2008 à 23:09
brutos
Bonsoir à toutes et à tous,
je me permet de poster sur ce site pour trouver de l'aide.

Je suis actuellement en train de voir quelques fonctionnalités en php, et j'ai une question.
J'ai réussi à uploader une image dans un répertoire (appelons le image). Le nom de cette image n'est pas intégrer dans une BDD, mais a un id correspondant à un thème.
Est-il possible de faire un tri en fonction de l'id ?

Exemple :

- noms des images uploadés : (image1 = nom de l'image uploadé; _18 = id après upload)
image1_18.jpg
image2_17.jpg
image3_18.jpg
image4_17.jpg
image5_19.jpg
image6_18.jpg

j'ai envie admettons de récupérer toutes les images ayant pour idaprès l'upload _18 soit toutes ces images : image1_18.jpg, image3_18.jpg, image6_18.jpg.

Pour le moment j'ai réalisé ce petit bout de code :

<?php
$dir = "/image";
$dh = opendir($dir);
while (false !== ($filename = readdir($dh))) {
$files[] = $filename;
$position=strpos($files[], "_");
$id_photo=substr($files[], 0, $position);
}
if ($id_photo == $id_theme){
echo 'mon image';
}
?>


mais après je suis perdu concernant la boucle pour afficher toutes les images du répertoire ayant l'id_theme...
Si une personne peut m'éclairer,
Merci par avance
Koboneil
le 09/12/2008 à 00:06
Koboneil
Pour parcourir un répertoire tu peux utiliser la fonction scandir. Pour ton problème, je ferais quelque chose dans le genre (j'ai écrit ça vite fait sans rien tester), mais je suis pas sûr que ça réponde à ce que tu veux faire :

<?php
$files = scandir("/images/");
foreach($files as $nameFile) {
if($nameFile != "." && $nameFile != "..") {
// si le nom du fichier contient l'id recherché...
if(ereg("_$id_theme\.*$", $nameFile)) {
// traiter le fichier
}
}
}
?>
Koboneil
Dampyre
le 09/12/2008 à 09:07
Dampyre
Bon, je suis loin d'etre un pro du php, ma reflexion porte plus sur le fond que la forme.

Selon moi, un tri sur un nom est dangereux. Tu aurais plus vite fait de creer une pauvre BDD avec trois tables: une table "image" avec un numimage (cle primaire, auto-increment), titreimage et commentaireimage (par exemple); une table "theme" avec numtheme (cle primaire, auto-increment) nomtheme et descriptheme (toujours par exemple) et une "mini-table" "imagetheme" ou tu reprends et mets en lien le numimage et le numtheme.

C'est vrai que ca peut sembler lourd de prime abord, mais ca permet toutes sortes de tri. De plus, il devient possible de classer une meme image dans plusieurs themes (humour, Noir et Blanc, sexy, etc, etc), ce qui semble impossible dans ton cas.
Et chose non negligeable, cela peut te permettre, par la suite, d'inserer une table "auteur" et une table jointure "auteurimage" sur le meme modele.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours