ggbce Posté(e) le 25 octobre 2005 Partager Posté(e) le 25 octobre 2005 J'ai un petit soucis avec l'upload de fichiers vers le serveur en PHP ? Je veux envoyer des fichiers dans un dossier de stockage tout simplement (pas d'information relié dans une BD MySql ou autre, simplement un upload) et ça marche à merveille sauf que si le fichier existe déjà la commande écrase l'ancien fichier sans aucune confirmation... Est-ce qu'il y a un moyen de retourner un erreur (du genre "File already exist") et ne pas écraser le fichier si c'est le cas ? Voici la commande que j'utilise (celle de base finalement): if (copy ($userfile, "/serveur/$userfile_name")) { unlink ($userfile); } Lien vers le commentaire Partager sur d’autres sites More sharing options...
seishiro Posté(e) le 26 octobre 2005 Partager Posté(e) le 26 octobre 2005 je dirai que le plus simple est de stoquer le nom des différents fichiers uploadé. comme cela à tout nouvel upload tu compare le nom du fichier avec ta liste de nom. Lien vers le commentaire Partager sur d’autres sites More sharing options...
xhark Posté(e) le 26 octobre 2005 Partager Posté(e) le 26 octobre 2005 voili : function list_files() { global $the_path; $handle = dir($the_path); print "\n<b>Fichiers uploadés présents sur le serveur :</b><br>"; while ($file = $handle->read()) { if (($file != ".") && ($file != "..")) { print "\n" . $file . "<br>"; } Lien vers le commentaire Partager sur d’autres sites More sharing options...
peltchag Posté(e) le 26 octobre 2005 Partager Posté(e) le 26 octobre 2005 si tu ne veux pas stocker d'infos, il faut tester avant de lancer la copie si le fichier existe déjà. je sais qu'il y a une fonction pour tester l'existence d'un fichier, mais je m'en souviens plus désolé Lien vers le commentaire Partager sur d’autres sites More sharing options...
xhark Posté(e) le 26 octobre 2005 Partager Posté(e) le 26 octobre 2005 j'oubliais : tu peux passer le tout dans un tableau (avec le code de mon poste précédent!) et tu n'a qu'a vérifier si le nom du fichier à envoyé faire parti du tableau! des scripts tout fait et simple existe deja ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
ingeni Posté(e) le 26 octobre 2005 Partager Posté(e) le 26 octobre 2005 Si j'ai bien compris... si $path est le dossier de stockage et $_FILES['fichier']['tmp_name'] le fichier téléchargé if (isset($path . $_FILE['ficher']['tmp_name'])) { //le fichier existe } else { //le fichier n'existe pas } Lien vers le commentaire Partager sur d’autres sites More sharing options...
ggbce Posté(e) le 27 octobre 2005 Auteur Partager Posté(e) le 27 octobre 2005 J'ai finalement trouvé la réponse ! La commande à utiliser est: $fichier = $userfile_name; //(ou $fichier = $_FILE['ficher']['tmp_name'];) $fpath = "/mondossier/".$fichier; if (is_file($fpath)) { echo ("Le fichier existe déjà"); exit; } else { if (copy ($userfile, "$fpath")) { unlink ($userfile); } echo ("Le fichier <b>$fpath</b> a été ajouté avec succès"); } Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.