Code php pour vérifier nom d'image

Fermé
beru002 Messages postés 497 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 28 janvier 2016 - 2 déc. 2010 à 19:44
beru002 Messages postés 497 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 28 janvier 2016 - 3 déc. 2010 à 09:17
Bonjour,
Je suis en train de créer un site où, dans la base de données, il y a plusieurs tables. pour chaque table, il y a la possibilité d'envoyer une image, qui est envoyée dans un dossier nommé "uploads". ce que j'aimerais, c'est un code qui me permette de vérifier à chaque envoi si le nom de l'image n'existe pas déjà.
j'ai réussi à le faire pour savoir si le nom n'existe pas déjà dans la table, mais vu que les images des autres tables vont aussi dans ce dossier, il serait mieux de vérifier directement dans le dossier... sinon, je vais être obligé soit de créer un dossier uploads pour chaque table, soit à chaque fois vérifier dans toutes les tables si le nom n'existe pas...

si quelqu'un a une solution pour moi, je suis preneur!!
merci d'avance!!



A voir également:

3 réponses

Salut,

Je suis pas sur que je réponde bien mais si j'ai compris je t'invite à te renseigner auprès de la fonction file_exists() :

https://www.php.net/manual/fr/function.file-exists.php

Kaez.
0
beru002 Messages postés 497 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 28 janvier 2016 27
3 déc. 2010 à 07:59
ça me fait avancer, en effet!!! :D
par contre, je me pose la question: ne dois-je pas d'abord ouvrir le dossier uploads pour lui dire où chercher? et si oui, comment faire?
0
beru002 Messages postés 497 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 28 janvier 2016 27
Modifié par beru002 le 3/12/2010 à 10:45
avec ces infos + quelques autres, voici le code que j'ai pondu, et qui semble ne pas marcher: (l'image est envoyée par formulaire)

// Test si le nom n'existe pas déjà
$filename = $_FILES['image']['name'];
$dirname = 'uploads';
$dir = opendir($dirname);

while ($file = readdir($dir)) {
if (file_exists($filename)) {
echo 'Ce fichier existe déjà';
} else {

si le fichier n'existe pas, je lui donne d'autres choses à faire: enregistrer le fichier dans 'uploads' et enregistrer les autres données dans la table. tout fonctionne sauf ce script. si j'envoie un deuxième formulaire avec la même image, il enregistre tout comme si elle n'avait pas existé dans 'uploads'...

edit: quand il enregistre tout sur la base, j'ai les 'echo' qui apparaissent pour dire que tout s'est bien passé (bien que l'image existe déjà...) plus ce texte: Array ( [0] => 00000 [1] => [2] => ) 1
mais je ne sais pas trop ce que ça veut dire...
0