Tester si existe upload
Fermé
TRUNCKS
Messages postés
1017
Date d'inscription
vendredi 10 août 2007
Statut
Membre
Dernière intervention
8 novembre 2024
-
23 août 2012 à 17:40
TRUNCKS Messages postés 1017 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 8 novembre 2024 - 25 août 2012 à 22:54
TRUNCKS Messages postés 1017 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 8 novembre 2024 - 25 août 2012 à 22:54
A voir également:
- Tester si existe upload
- Flash drive tester - Télécharger - Divers Utilitaires
- Tester son pc - Guide
- Tester composant pc - Guide
- Ymail existe - Forum Réseaux sociaux
- Datedif excel n'existe pas ✓ - Forum Excel
6 réponses
Utilisateur anonyme
23 août 2012 à 17:52
23 août 2012 à 17:52
Bonjour
Tu enregistres bien tes images dans un dossier, et leur nom dans une base ?
Tu peux tester si l'image existe dans le dossier avec la fonction is_file.
Tu peux tester si le nom existe dans ta base avec une requête genre :
"SELECT count(*) FROM matable WHERE nomimage='$nomimage'"
Pour la renommer, il y a beaucoup de possibilités. Par exemple, tu ajoutes un texte aléatoire (ou un compteur, peu importe) au début du nom et tu recommences jusqu'à ce que tu trouves un nom inutilisé.
Tu enregistres bien tes images dans un dossier, et leur nom dans une base ?
Tu peux tester si l'image existe dans le dossier avec la fonction is_file.
Tu peux tester si le nom existe dans ta base avec une requête genre :
"SELECT count(*) FROM matable WHERE nomimage='$nomimage'"
Pour la renommer, il y a beaucoup de possibilités. Par exemple, tu ajoutes un texte aléatoire (ou un compteur, peu importe) au début du nom et tu recommences jusqu'à ce que tu trouves un nom inutilisé.
TRUNCKS
Messages postés
1017
Date d'inscription
vendredi 10 août 2007
Statut
Membre
Dernière intervention
8 novembre 2024
7
23 août 2012 à 18:08
23 août 2012 à 18:08
Merci beaucoup pour la réponse,
Sans vouloir abuser, vous auriez un petit tuto ou un exemple de script pour changer le nom et tester si non utilisé ( la dernière solution )
Merci à vous
Sans vouloir abuser, vous auriez un petit tuto ou un exemple de script pour changer le nom et tester si non utilisé ( la dernière solution )
Merci à vous
Utilisateur anonyme
23 août 2012 à 22:48
23 août 2012 à 22:48
En supposant que tu testes en vérifiant dans la base de données :
// d'abord la fonction qui teste si le fichier existe déjà ou pas function existedeja($nomimage) { $req="SELECT count(*) FROM matable WHERE nomimage='".mysql_real_escape_char($nomimage)."'" $rep=mysql_query($req); $lgn=mysql_fetch_row($rep); return ($lgn[0]>0 ? true : false); } // boucle jusqu'à trouver un nom qui n'existe pas déjà $nom=... // qq chose comme $_FILE['fichier']['name']; $nomok=$nom; while (existedeja($nomok)) { $nomok='a'.$cpt.$nom; // crée un nouveau nom en ajoutant un compteur au début $cpt++; } // rendu ici, $nomok est un nom de fichier qui n'existe pas déjà
TRUNCKS
Messages postés
1017
Date d'inscription
vendredi 10 août 2007
Statut
Membre
Dernière intervention
8 novembre 2024
7
25 août 2012 à 17:31
25 août 2012 à 17:31
Bonjour, j'ai fait ceci mais ça n'a pas marché:
$nfile correspond au nom de mon image auquel je rajoute le chemin vers le dossier.
En gros je compare les chemins des images pour voir si ce sont les mêmes.
Mais j'ai une erreur à $count, il ne fait une erreur d'index.
$req="SELECT count(*) FROM images_news"; $rep=mysql_query($req); $lgn=mysql_fetch_row($rep); $count = $lgn['url_image']; if ('images/news/images/'.'$nFile' == $count){ echo "Erreur !"; }
$nfile correspond au nom de mon image auquel je rajoute le chemin vers le dossier.
En gros je compare les chemins des images pour voir si ce sont les mêmes.
Mais j'ai une erreur à $count, il ne fait une erreur d'index.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
25 août 2012 à 21:00
25 août 2012 à 21:00
Bien sûr qu'il y a une erreur d'index.
$lgn est un tableau dont les éléments son les diverses valeurs de chaque enregistrement renvoyé par ta requête
Mais ici, la requête renvoie COUNT(*) c'est à dire le nombre de ligne de ta table
Elle ne renvoie aucun champ 'url_image' car on ne le lui a pas demandé, c'est donc normal que $lgn['url_image'] n'existe pas.
Tu m'avais demandé de t'écrire un script, je l'ai fait et tu n'en parles même pas. Tu comprendras que j'ai l'impression d'avoir perdu mon temps et que désormais je n'en perde pas plus avec toi.
$lgn est un tableau dont les éléments son les diverses valeurs de chaque enregistrement renvoyé par ta requête
Mais ici, la requête renvoie COUNT(*) c'est à dire le nombre de ligne de ta table
Elle ne renvoie aucun champ 'url_image' car on ne le lui a pas demandé, c'est donc normal que $lgn['url_image'] n'existe pas.
Tu m'avais demandé de t'écrire un script, je l'ai fait et tu n'en parles même pas. Tu comprendras que j'ai l'impression d'avoir perdu mon temps et que désormais je n'en perde pas plus avec toi.
TRUNCKS
Messages postés
1017
Date d'inscription
vendredi 10 août 2007
Statut
Membre
Dernière intervention
8 novembre 2024
7
25 août 2012 à 22:54
25 août 2012 à 22:54
Bonsoir,
Je suis désolé, je ne voulais absolument pas vous vexer :(
J'ai vraiment un petit niveau et je n'avais pas bien compris la
nuance du count.
Je me suis rendu compte que je ne stockais pas le nom de l'image dans ma
bdd mais le chemin vers l'image.
Et avant de passer à la suite, je voulais déja arriver à faire la comparaison.
J'ai bien pris en considération votre travail, soyez assuré que si j'ai fait quelque chose de vexant ce n'était pas du tout volontaire.
Merci encore dans tous les cas
Je suis désolé, je ne voulais absolument pas vous vexer :(
J'ai vraiment un petit niveau et je n'avais pas bien compris la
nuance du count.
Je me suis rendu compte que je ne stockais pas le nom de l'image dans ma
bdd mais le chemin vers l'image.
Et avant de passer à la suite, je voulais déja arriver à faire la comparaison.
J'ai bien pris en considération votre travail, soyez assuré que si j'ai fait quelque chose de vexant ce n'était pas du tout volontaire.
Merci encore dans tous les cas