October 25, 200520 yr 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); } Edited October 27, 200520 yr by ggbce
October 26, 200520 yr 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.
October 26, 200520 yr 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>"; }
October 26, 200520 yr 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é
October 26, 200520 yr 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 !
October 26, 200520 yr 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 }
October 27, 200520 yr Author 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"); }
Archived
This topic is now archived and is closed to further replies.