Usernet Since 2004 | Salut à tous,
Je suis entrain de me faire un script pour uploader des fichiers sur mon FTP free. Pour l'instant il marche très bien mais j'ai un gros prob.
-> Si j'upload une image avec le nom 001.jpg (exemple)
-> Et que j'upload juste apres une image avec le même nom 001.jpg
-> Alors la deuxieme image écrase la première.
Donc c'est tout a fait normal car j'ai pas prevu cela à mon script.
D'apres ce que j'ai pu lire sur le net, la solution serai de renommer les fichiers uploadés avec l'année / le jours / l'heure / la minute / et même la seconde
Ce qui me donne ce genre de script (trouvé sur un site):
Code :
- //on va chercher la date de la journée sous la forme annéemoisjourheureminuteseconde (ex : 200361015159)
- $tmp=getdate();
- $jour=$tmp['mday'];
- $mois=$tmp['mon'];
- $annee=$tmp['year'];
- $h=$tmp['hours'];
- $m=$tmp['minutes'];
- $s=$tmp['seconds'];
- $tout="$annee$mois$jour$h$m$s";
- //on calcule le nombre de lettres avant le premier point
- $res = strpos("$upfile_name","." );
- //on extrait le nombre de lettre avant le point
- $type2=left($upfile_name,$res);
|
D'ou ma question, comment l'integré à mon script actuel qui marche bien :
Code :
- <?php
- // ############################################################ //
- // Définition des variable globales, modifiables à volonté //
- // ############################################################ //
- // Récupération du dossier dans lequel le fichier sera uploadé //
- $DESTINATION_FOLDER = $_POST["upload/"]; //
- // Taille maximale de fichier, valeur en bytes //
- $MAX_SIZE = 3000000; //
- // Récupération de l'url de retour //
- $RETURN_LINK = $_SERVER['HTTP_REFERER']; //
- // Définition des extensions de fichier autorisées (avec le "." )//
- $AUTH_EXT = array(".htm", ".html", ".jpg", ".txt", ".png", //
- ".bmp", ".gif", ".JPG", ".php3", ".rar", ".ace", ".zip", ".mp3", ".wav" ); //
- // ############################################################ //
- // Fonction permettant de créer un lien de retour automatique
- function createReturnLink(){
- global $RETURN_LINK;
- echo "<a href='".$RETURN_LINK."'>Retour</a><br>";
- }
- // Fonction permettant de vérifier si l'extension du fichier est
- // autorisée.
- function isExtAuthorized($ext){
- global $AUTH_EXT;
- if(in_array($ext, $AUTH_EXT)){
- return true;
- }else{
- return false;
- }
- }
- // On vérifie que le champs contenant le chemin du fichier soit
- // bien rempli.
- if(!empty($_FILES["file"]["name"])){
- // Nom du fichier choisi:
- $nomFichier = $_FILES["file"]["name"] ;
- // Nom temporaire sur le serveur:
- $nomTemporaire = $_FILES["file"]["tmp_name"] ;
- // Type du fichier choisi:
- $typeFichier = $_FILES["file"]["type"] ;
- // Poids en octets du fichier choisit:
- $poidsFichier = $_FILES["file"]["size"] ;
- // Poids en Kilo-octets du fichier choisit:
- $poidsFichierK = $poidsFichier/1024;
- // Pré formatage en affichage avec 0 chiffre après la virgule , donc pas de virgule.
- $poidsFichierK = sprintf("%.0f", $poidsFichierK) ;
- // Code de l'erreur si jamais il y en a une:
- $codeErreur = $_FILES["file"]["error"] ;
- // Extension du fichier
- $extension = strrchr($nomFichier, "." );
- // Si le poids du fichier est de 0 bytes, le fichier est
- // invalide (ou le chemin incorrect) => message d'erreur
- // sinon, le script continue.
- if($poidsFichier <> 0){
- // Si la taille du fichier est supérieure à la taille
- // maximum spécifiée => message d'erreur
- if($poidsFichier < $MAX_SIZE){
- // On teste ensuite si le fichier a une extension autorisée
- if(isExtAuthorized($extension)){
- // Ensuite, on copie le fichier uploadé ou bon nous semble.
- $uploadOk = move_uploaded_file($nomTemporaire, $DESTINATION_FOLDER.$nomFichier);
- if($uploadOk){
- echo "L'upload a réussi !<br><br>";
- echo "Nom du Fichier : $nomFichier<br>";
- echo "Taille du Fichier : $poidsFichierK Ko<br>";
- echo "URL du Fichier : /upload/$nomFichier<br><br>";
- echo "Aperçu:<br><br>";
- switch ($extension) { //Tu fais écrire du html par le php
- case ".jpeg": echo "<IMG SRC='$nomFichier'>";break;
- case ".bmp": echo "<IMG SRC='$nomFichier'>";break;
- case ".gif": echo "<IMG SRC='$nomFichier'>";break;
- case ".png": echo "<IMG SRC='$nomFichier'>";break;
- case ".jpg": echo "<IMG SRC='$nomFichier'>";break;
- case ".rar": echo "<IMG SRC='im/file/archive.gif'>";break;
- case ".ace": echo "<IMG SRC='im/file/archive.gif'>";break;
- case ".zip": echo "<IMG SRC='im/file/archive.gif'>";break;
- case ".mp3": echo "<IMG SRC='im/file/son.gif'><bgsound src='$nomFichier'><br>Si vous utilisez internet explorer ,vous pourrez entendre votre son.";break;
- case ".wav": echo "<IMG SRC='im/file/son.gif'><bgsound src='$nomFichier'><br>Si vous utilisez internet explorer ,vous pourrez entendre votre son.";break;
- default: echo "<IMG SRC='im/file/inconnu.gif'>"; }
- echo "<br><br>";
- echo(createReturnLink());
- }else{
- echo("L'upload a échoué !<br><br>" );
- echo(createReturnLink());
- }
- }else{
- echo ("Les fichiers avec l'extension $extension ne peuvent pas être uploadés !<br>" );
- echo (createReturnLink()."<br>" );
- }
- }else{
- $tailleKo = $MAX_SIZE / 1000;
- echo("Vous ne pouvez pas uploader de fichiers dont la taille est supérieure à : $tailleKo Ko.<br>" );
- echo (createReturnLink()."<br>" );
- }
- }else{
- echo("Le fichier choisi est invalide !<br>" );
- echo (createReturnLink()."<br>" );
- }
- }else{
- echo("Vous n'avez pas choisi de fichier !<br>" );
- echo (createReturnLink()."<br>" );
- }
- ?>
|
Voila merci bien, car le je suis perdu dans mes lignes depuis ce matin.
A+ Dams |