|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2010 Messages : 136 ![]() |
Bonjour!
Voila avant d'enregistrer mon image, que je renomme 1.son_extension je dois vérifier si il n'en existe pas déjà une dans le dossier, qui pourrait s'apeller genre 1.png, ou 1.jpg, ou 1.gif, si oui il faut que je l'efface, avec un unlink() avant d'enregistrer la nouvelle, pour ne pas que cohabites deux images commençant pas 1.quelque chose la ou je suis embeter c'est pour la manip a faire pour vérifier si il existe déjà une image commençant par "1." Ensuite j'enregistre la nouvelle, ca c'est bon et enfin je l'affiche en récupérant son extension indispensable ( je pense) pour l'afficher : exemple : voici ou j'en suis Code :
|
||
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Mathieu ROBINDéveloppeur Web Inscription : mai 2006 Messages : 1 116 ![]() |
Ok dans l'idée, il ne te reste donc plus qu'à vérifier si l'image existe, ou plus précisément le fichier existe, et ça se passe par là: http://php.net/manual/fr/function.file-exists.php
J'espère que ça sera bon avec ça
__________________
Mon blog techno et son billet hebdomadaire sur l'actualité jQuery. Et mon blog cuisine pour une personne. Le bouton ne masse pas les pieds, mais ça aide la communauté.
|
|
00
|
|
|
#3 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2010 Messages : 136 ![]() |
voila mon code mis ajour grace a tes conseils
pour le file_exists et le unlink, est'il obligatoire de présiser l'extention? et a la fin ma méthode pour retrouver l'extention de mon image afin de l'afficher est'elle correcte? merci Code :
|
||
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() Mathieu ROBINDéveloppeur Web Inscription : mai 2006 Messages : 1 116 ![]() |
PATHINFO_EXTENSION est spécifiquement voué à faire ce que tu souhaites, donc ok pour l'extension.
Par contre, oui, tu dois récupérer l'extension systématiquement. Vu que tu ne sais pas toujours si ça sera un JPEG, un GIF, un truc, un bidule ou encore une carotte, récupérer l'extension est ta seule façon de le savoir.
__________________
Mon blog techno et son billet hebdomadaire sur l'actualité jQuery. Et mon blog cuisine pour une personne. Le bouton ne masse pas les pieds, mais ça aide la communauté.
|
|
00
|
|
|
#5 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2010 Messages : 136 ![]() |
je n'ai pas tres bien compris ce que tu m'as dis
1) tu veux dire que je dois d'abord récupérer l'extension de mon ancienne image (avec pathinfo() ) avant de pouvoir l'effacer car le unlink a besoin de l'extension pour fonctionner 2) le pathinfo() lui n'a pas besoin de l'extension , il lira et renverra les infos fichier commençant par "1."? voir les modifs de mon code a l'effacement et a l'affichage de mes images : Code :
|
||
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() Mathieu ROBINDéveloppeur Web Inscription : mai 2006 Messages : 1 116 ![]() |
Ah euh non, t'as pas forcément de récupérer spécifiquement plus l'extension qu'autre chose.
L'extension fait partie du nom de fichier. Pour effacer un fichier, il faut que tu connaisses le nom complet de ce fichier. Si il a une extension, il te faut cette extension, tout comme si il n'est pas à la racine, il te faut l'adresse complète. Qui l'un et l'autre normalement te sont fournis de façon générale par le path.
__________________
Mon blog techno et son billet hebdomadaire sur l'actualité jQuery. Et mon blog cuisine pour une personne. Le bouton ne masse pas les pieds, mais ça aide la communauté.
|
|
00
|
|
|
#7 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2010 Messages : 136 ![]() |
donc le pathinfo() lui n'a pas besoin de l'extension , il lira et renverra les infos fichier commençant par "1."?
le file_exists() n'a pas non plus besoin de l'extention mais le unlink en a besoin, c'est ca mon code te semble t'il logique? Code :
|
||
|
00
|
|
|
#8 |
|
Membre Expert
![]() ![]() Mathieu ROBINDéveloppeur Web Inscription : mai 2006 Messages : 1 116 ![]() |
C'est tous la même chose (PHP même si des fois semble bizarre sur sa syntaxe est quand même un langage relativement bien conçu).
Si l'un a besoin de l'extension, tous en ont besoin. Mais tu n'as pas besoin systématiquement de choper "PATHINFO_EXTENSION" pour la mettre à la suite de ton nom de fichier vu que l'extension fait partie intégrante de base de ton nom de fichier. Bon ceci dit, dans ton script, vu que tu forces le nom court du fichier à "1.", là effectivement, tu as besoin de préciser l'extension. Pour le côté logique, je ne l'ai pas exécuté, donc à vue d'oeil, ça m'a l'air bon comme ça, le mieux est que tu testes, si ça roule, c'est que c'est logique donc bon.
__________________
Mon blog techno et son billet hebdomadaire sur l'actualité jQuery. Et mon blog cuisine pour une personne. Le bouton ne masse pas les pieds, mais ça aide la communauté.
|
|
00
|
|
|
#9 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2010 Messages : 136 ![]() |
ok je vais le tester
une derniere observation et vrai je n'ai pas besoin de mon opendir() et readdir()? je peux mettre directement if(file_exists..... |
|
00
|
|
|
#10 |
|
Membre Expert
![]() ![]() Mathieu ROBINDéveloppeur Web Inscription : mai 2006 Messages : 1 116 ![]() |
en effet, file_exists contrôle si le fichier existe selon l'arborescence fournie. L'open_dir et read_dir sont donc une perte de temps mais en plus et surtout une source potentielle inutile d'erreurs supplémentaires à traiter.
N'oublie pas le bouton si ça marche
__________________
Mon blog techno et son billet hebdomadaire sur l'actualité jQuery. Et mon blog cuisine pour une personne. Le bouton ne masse pas les pieds, mais ça aide la communauté.
|
|
00
|
|
|
#11 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2010 Messages : 136 ![]() |
encore une dernière précision car je suis un peu dur de la comprenette
tu me confirme aussi que pour le file_exists() et le path info(), je n'ai pas besoin de préciser l'extension? |
|
00
|
|
|
#12 |
|
Membre Expert
![]() ![]() Mathieu ROBINDéveloppeur Web Inscription : mai 2006 Messages : 1 116 ![]() |
En effet.
__________________
Mon blog techno et son billet hebdomadaire sur l'actualité jQuery. Et mon blog cuisine pour une personne. Le bouton ne masse pas les pieds, mais ça aide la communauté.
|
|
00
|
|
|
#13 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2010 Messages : 136 ![]() |
je dois avoir une erreur
ca m'enregistre bien mon image mais ca ne me supprime pas l'ancienne image nommer "1." ce qui fait que dans mon dossier cohabite 1.png et 1.jpeg voici mon code Code :
|
||
|
00
|
|
|
#14 |
|
Membre Expert
![]() ![]() Mathieu ROBINDéveloppeur Web Inscription : mai 2006 Messages : 1 116 ![]() |
Normal, t'essaie d'effacer le fichier "1."+extension du fichier que tu viens de charger et pas fichier que tu as déjà
__________________
Mon blog techno et son billet hebdomadaire sur l'actualité jQuery. Et mon blog cuisine pour une personne. Le bouton ne masse pas les pieds, mais ça aide la communauté.
|
|
00
|
|
|
#15 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2010 Messages : 136 ![]() |
non je ne crois pas
regardes bien: 1) je teste le fichier charger enregistré temporairement (qui viens d'etre chargé via formulaire), si son extension ($extension_upload) est autorisée alors 2) je teste si il y a un fichier nommé "1." existe déjà, dans $dossier, si oui je le supprime 3) je transfere le fichier charger du dossier temporaire au definitif dans $dossier Code :
|
||
|
00
|
|
|
#16 |
|
Membre Expert
![]() ![]() Mathieu ROBINDéveloppeur Web Inscription : mai 2006 Messages : 1 116 ![]() |
Ouais mais à l'étape 2, ton fichier s'appelle "1.", pas "1.jpg" ou "1.png". Normal qu'il efface rien.
__________________
Mon blog techno et son billet hebdomadaire sur l'actualité jQuery. Et mon blog cuisine pour une personne. Le bouton ne masse pas les pieds, mais ça aide la communauté.
|
|
00
|
|
|
#17 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2010 Messages : 136 ![]() |
tu veux dire dans le file_exists , le pathinfo ou unlink()
si c'est pour le unlink($dossier.'/1.'.$extension); donc il doit effacer 1.'.$extension donc l'extension est bien précisée? |
|
00
|
|
|
#18 |
|
Membre Expert
![]() ![]() Mathieu ROBINDéveloppeur Web Inscription : mai 2006 Messages : 1 116 ![]() |
Pour le coup oui (pour le unlink)
__________________
Mon blog techno et son billet hebdomadaire sur l'actualité jQuery. Et mon blog cuisine pour une personne. Le bouton ne masse pas les pieds, mais ça aide la communauté.
|
|
00
|
|
|
#19 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2010 Messages : 136 ![]() |
je ne comprend pas bien ta réponse , peux tu développer
qu'est ce que tu as remarquer , peux tu etre plus précis merci |
|
00
|
|
|
#20 |
|
Membre Expert
![]() ![]() Mathieu ROBINDéveloppeur Web Inscription : mai 2006 Messages : 1 116 ![]() |
Tu ne peux pas effacer un fichier qui s'appelle "1." puisqu'il n'existe pas.
Donc oui, tu es obligé de préciser l'extension dans ton appel à unlink.
__________________
Mon blog techno et son billet hebdomadaire sur l'actualité jQuery. Et mon blog cuisine pour une personne. Le bouton ne masse pas les pieds, mais ça aide la communauté.
|
|
00
|
Copyright © 2000-2012 - www.developpez.com