détecter si un fichier existe deja avant d'uploader - PHP - Programmation
Marsh Posté le 26-08-2005 à 17:21:48
Ca m'étonnerait que ce soit $_FILES, le nom du fichier.
Plutôt $_FILES['nom_de_l'input']['name']...
Fait un echo de ton bazar $DESTINATION_FOLDER."m_".$_FILES et tu verras bien.
Marsh Posté le 26-08-2005 à 17:28:52
ah ok je savais pas qu'il fallait mettre le reste après
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 )
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
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...
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"
comment on fait en php pour une condition négative ? (ex: "si le fichier n'existe pas" au lieu de "si le fichier existe" )
Marsh Posté le 26-08-2005 à 18:24:23
on apprend le php.
if(!file_exists(blablablablablablabla)){
echo 'ce fichier n'existe pas';}
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
Marsh Posté le 26-08-2005 à 20:16:10
pmusa a écrit : on apprend le php. |
on apprend à programmer surtout
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
Marsh Posté le 26-08-2005 à 17:07:29
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