Problème PHP !
Résolu/Fermé
zeelox
Messages postés
119
Date d'inscription
samedi 30 mai 2015
Statut
Membre
Dernière intervention
8 mars 2019
-
Modifié par baladur13 le 22/01/2016 à 10:03
zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019 - 22 janv. 2016 à 12:15
zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019 - 22 janv. 2016 à 12:15
3 réponses
zeelox
Messages postés
119
Date d'inscription
samedi 30 mai 2015
Statut
Membre
Dernière intervention
8 mars 2019
22 janv. 2016 à 10:02
22 janv. 2016 à 10:02
:up: personne ...?
MrAkiroKun
Messages postés
29
Date d'inscription
vendredi 8 août 2014
Statut
Membre
Dernière intervention
22 janvier 2016
22 janv. 2016 à 10:36
22 janv. 2016 à 10:36
Salut à toi développeur,
Premièrement, la patience est une vertus, pense-y, inutile de "up" 45 minutes après avoir posté.
Et pour ton problème, cette ligne me chiffonne:
Si j'ai bien compris ton code, elle va retourner "21"...
d'ailleur, attention au majuscules, ta variable filename est tout en minuscule dans cette ligne :
alors qu'elle est écrite avec un N majuscule dans les autres variable.
J'espère t'avoir aidé, sinon dis le moi, on verra ce qu'on peu faire !
Premièrement, la patience est une vertus, pense-y, inutile de "up" 45 minutes après avoir posté.
Et pour ton problème, cette ligne me chiffonne:
$fileName = $fileNumber + 1 . $fileNumber;
Si j'ai bien compris ton code, elle va retourner "21"...
d'ailleur, attention au majuscules, ta variable filename est tout en minuscule dans cette ligne :
$road = "pattern/work/banners/".$filename;
alors qu'elle est écrite avec un N majuscule dans les autres variable.
J'espère t'avoir aidé, sinon dis le moi, on verra ce qu'on peu faire !
zeelox
Messages postés
119
Date d'inscription
samedi 30 mai 2015
Statut
Membre
Dernière intervention
8 mars 2019
Modifié par zeelox le 22/01/2016 à 10:52
Modifié par zeelox le 22/01/2016 à 10:52
entre-temps j'ai bidouillé le code php, je te montre le nouveau code :
$fileNumber = 1; $fileName = "pattern/work/banners/" . $fileNumber . ".jpg"; if(file_exists($fileName)) { while(file_exists($fileName)) { $fileNumber = $fileNumber + 1; $fileName = $fileNumber . "." . $uploaded_extensions; $road = "pattern/work/banners/" . $fileName; $result = move_uploaded_file($_FILES['addbanner']['tmp_name'], $road); echo "okkkk"; } } else { echo "noraj"; }
MrAkiroKun
Messages postés
29
Date d'inscription
vendredi 8 août 2014
Statut
Membre
Dernière intervention
22 janvier 2016
22 janv. 2016 à 10:58
22 janv. 2016 à 10:58
Qu'est ce qui ne marche pas ? personnellement je ne vois pas d'erreur à part que c'est difficilement lisible.
zeelox
Messages postés
119
Date d'inscription
samedi 30 mai 2015
Statut
Membre
Dernière intervention
8 mars 2019
>
MrAkiroKun
Messages postés
29
Date d'inscription
vendredi 8 août 2014
Statut
Membre
Dernière intervention
22 janvier 2016
22 janv. 2016 à 11:05
22 janv. 2016 à 11:05
bah en gros j'upload le fichier, sa me créé 1.jpg, parfait.
je remet un autre fichier, sa me créé 2.jpg, parfait aussi.
je remet encore un autre fichier, ça me remplace 2.jpg par 2.jpg mais avec une nouvelle image.
en gros je veux juste pouvoir mettre des images à l'infini dans mon dossier.
je remet un autre fichier, sa me créé 2.jpg, parfait aussi.
je remet encore un autre fichier, ça me remplace 2.jpg par 2.jpg mais avec une nouvelle image.
en gros je veux juste pouvoir mettre des images à l'infini dans mon dossier.
zeelox
Messages postés
119
Date d'inscription
samedi 30 mai 2015
Statut
Membre
Dernière intervention
8 mars 2019
>
MrAkiroKun
Messages postés
29
Date d'inscription
vendredi 8 août 2014
Statut
Membre
Dernière intervention
22 janvier 2016
22 janv. 2016 à 11:10
22 janv. 2016 à 11:10
après je pense que c'est peut-être pas une erreur de code, juste de la logique mais c'est bizarre car on ajoute 1 à chaque fois donc normalement ça devrait créer 3.jpg nan ?
MrAkiroKun
Messages postés
29
Date d'inscription
vendredi 8 août 2014
Statut
Membre
Dernière intervention
22 janvier 2016
22 janv. 2016 à 11:13
22 janv. 2016 à 11:13
AAAAAAH, d'accord, eh bien, en gros, au début, de ton script, tu dois vérifier si il éxiste déja un fichier... si le dossier est vide (donc pas de fichier dedans) tu fais ce qui marche déja. Ensuite si il y a déja un fichier, tu récupère le nom du fichier qui à le nombre le plus elevé, tu le met dans une variable, que tu incrémente avec ++ et le tour est joué, à chaque fois tu fais ça ;)
jordane45
Messages postés
37523
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juin 2023
4 584
22 janv. 2016 à 11:51
22 janv. 2016 à 11:51
Bonjour,
Une boucle WHILE avec la fonction file_exists et l'incrémentation d'une variable et le tour est joué.
Un truc du genre :
Par contre, perso , ... plutot que de nommer les fichiers 1 2 3 ... et de devoir gérer avec ce genre de mécanisme si le fichier existe déjà ou non... je préfères leur générer des noms automatiques UNIQUES.
Pour se faire... tu peux tout simplement utiliser uniqid():
https://www.php.net/manual/fr/function.uniqid.php
et ce qui donne tout simplement :
Une boucle WHILE avec la fonction file_exists et l'incrémentation d'une variable et le tour est joué.
Un truc du genre :
//initialisation des variables $fileNumber = 1; $fileName = "pattern/work/banners/" . $fileNumber . ".jpg"; //début de la boucle while (file_exists($fileName)){ //on incrémente les valeurs $fileNumber ++; $fileName = "pattern/work/banners/" . $fileNumber . ".jpg"; } //normalement... une fois sorti de la boucle.... ta variable $fileNumber contiendra un "nouveau" numéro. //le reste de ton code.
Par contre, perso , ... plutot que de nommer les fichiers 1 2 3 ... et de devoir gérer avec ce genre de mécanisme si le fichier existe déjà ou non... je préfères leur générer des noms automatiques UNIQUES.
Pour se faire... tu peux tout simplement utiliser uniqid():
https://www.php.net/manual/fr/function.uniqid.php
et ce qui donne tout simplement :
$fileName = "pattern/work/banners/" . uniqid() . ".jpg";
zeelox
Messages postés
119
Date d'inscription
samedi 30 mai 2015
Statut
Membre
Dernière intervention
8 mars 2019
Modifié par zeelox le 22/01/2016 à 12:06
Modifié par zeelox le 22/01/2016 à 12:06
et quel est l'avantage de l'uniqid(); ?
zeelox
Messages postés
119
Date d'inscription
samedi 30 mai 2015
Statut
Membre
Dernière intervention
8 mars 2019
22 janv. 2016 à 12:07
22 janv. 2016 à 12:07
je pense quand même utiliser les nombres car je vais les mettres dans la bdd et les appeler par ordre alphabétique...
zeelox
Messages postés
119
Date d'inscription
samedi 30 mai 2015
Statut
Membre
Dernière intervention
8 mars 2019
>
zeelox
Messages postés
119
Date d'inscription
samedi 30 mai 2015
Statut
Membre
Dernière intervention
8 mars 2019
22 janv. 2016 à 12:15
22 janv. 2016 à 12:15
en tout cas merci énormément !!!