détecter si un fichier existe deja avant d'uploader

détecter si un fichier existe deja avant d'uploader - PHP - Programmation

Marsh Posté le 26-08-2005 à 17:07:29    

:hello:  
 
dans mon petit script d'upload je voudrais rajouter une condition: si le fichier qu'on veut uploader existe deja sur le serveur, que ça envoie un message d'erreur au lieu d'écraser le fichier !
 
dans le script je dispose de ces variables (des texte en fait):
 
$DESTINATION_FOLDER  => dossier de destination que l'utilisateur a choisi
 
$_FILES => nom du fichier a uploader
 
 
dans ce script on a le choix du répertoire de destination.
j'aimerais que si le fichier a uploader n'existe pas, que le script continue mais que si dans le meme répertoire un fichier du meme nom existe que ça renvoie sur une page avec l'erreur.
 
en cherchant un peu et en chippant des bouts de code d'autre scripts j'ai pu recréer ça:
 
 
 
ici le début du script
 
 
if(file_exists($DESTINATION_FOLDER."m_".$_FILES)){ ici se place le message d'erreur}
 
 
 
ensuite vient le reste du script qui indique d'uploader le fichier  
 
 
 
mais le problème c'est que quand je teste ça, que le fichier existe deja ou pas il uploade quand meme ! (comme si le code que j'avais rajouté servait a rien quoi)
 
qu'est ce qui va pas et comment corriger ça ?


Message édité par xphanoo le 26-08-2005 à 17:07:51
Reply

Marsh Posté le 26-08-2005 à 17:07:29   

Reply

Marsh Posté le 26-08-2005 à 17:12:34    

Tu utilises une BDD mysql?

Reply

Marsh Posté le 26-08-2005 à 17:18:24    

non pourquoi?

Reply

Marsh Posté le 26-08-2005 à 17:21:48    

Ca m'étonnerait que ce soit $_FILES, le nom du fichier.  [:mlc]  
Plutôt $_FILES['nom_de_l'input']['name']...
 
Fait un echo de ton bazar $DESTINATION_FOLDER."m_".$_FILES et tu verras bien.


Message édité par sielfried le 26-08-2005 à 17:22:12

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 26-08-2005 à 17:28:52    

ah ok je savais pas qu'il fallait mettre le reste après  :pfff:  
 
maintenant ça donne:
 
if(file_exists($DESTINATION_FOLDER."m_".$_FILES["file"]["name"])){echo("erreur" ); }
 
 
mais ça marche toujours pas :/
 
le probleme c'est que je comprends pas ce que veut dire ."m_".   donc j'ai un peu de mal a essayer d'améliorer le code (quoi que je suis pas sur de pouvoir puisque je viens de commencer a apprendre le php :/)

Reply

Marsh Posté le 26-08-2005 à 17:34:11    

enfin le mieux serait que j'ai une ligne du type "si le fichier n'existe PAS alors ok pour uploader"
 
car le script fonctionne de cette manière:
 
si taille du fichier < 2mo   alors on peut continuer
      si taille du fichier > 0 octets alors on peut continuer
                   si l'extension est autorisée alors on peut continuer
 
                                ***upload du fichier***
 
                   sinon renvoyer le message d'erreur1
      sinon renvoyer le message d'erreur2
sinon renvoyer le message d'erreur3
 
 
il faudrait que ma ligne se rajoute aux 3 conditions deja présente

Reply

Marsh Posté le 26-08-2005 à 17:39:02    

ça sert à rien d'aller trop vite. si tu n'as même pas encore "étudié" la concaténation, c'est que tu viens VRAIMENT de commencer. et tu comprendra encore moins l'upload de fichiers. enfin c'est toi qui vois...
 
 
if(file_exists($DESTINATION_FOLDER.$_FILES["file"]["name"])){echo("erreur" ); }
 
devrait fonctionner...


Message édité par pmusa le 26-08-2005 à 17:39:42

---------------
intralase surgery [:cerveau love]
Reply

Marsh Posté le 26-08-2005 à 17:47:01    

merci ça a l'air de marcher, mais le problème c'est que le script ne s'arrete pas et affiche les deux message a la fois : "le fichier que vous voulez uploadé existe" déja et "l'upload a été effectué avec succès"  :D  
 
comment on fait en php pour une condition négative ? (ex: "si le fichier n'existe pas" au lieu de "si le fichier existe" )

Reply

Marsh Posté le 26-08-2005 à 18:24:23    

on apprend le php.  :sweat:  
 
if(!file_exists(blablablablablablabla)){
echo 'ce fichier n'existe pas';}


---------------
intralase surgery [:cerveau love]
Reply

Marsh Posté le 26-08-2005 à 18:36:03    

Reply

Marsh Posté le 26-08-2005 à 18:36:03   

Reply

Marsh Posté le 26-08-2005 à 20:06:28    

tres pratique la faq sur le php  ;)  
merci pour le "!" je pensais pas que c'était si simple que ça
 
ce script c'est pour une site que je fais qui propose des samples a télécharger pour faire ses musiques; on peut donc également en uploader, voila ce que ça donne pour l'instant : http://xiwav.free.fr

Reply

Marsh Posté le 26-08-2005 à 20:16:10    

pmusa a écrit :

on apprend le php.  :sweat:  
 
if(!file_exists(blablablablablablabla)){
echo 'ce fichier n'existe pas';}


 
on apprend à programmer surtout :o
ce message est destiné à tous les noobs ki se lancent dans le PHP, même si le PHP parait etre un langage accessible, ya trop de boulets sans aucunes connaissances en programmations qui se lance dans des Dev risqués
 
c'était la gueulante du jour

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed