Sans mySQL si possible copier et renommer dans repertoire

Fee
Eléphanteau du PHP | 28 Messages

13 avr. 2012, 21:46

Salut, merci de bien suivre car ma demande est assez complexe et je n'ai pas réussi avec mes essaies.

Je cherche une façon qui permet l'upload d'un fichier metton à la racine mais comme le nom peu différer selon la journée roger1.doc roger2.doc, je veux qu'il soit copier et renommer dans un répertoire car je ne veux pas l'écraser et je veux garder l'original. Mais au final il faut toujours que le nom soit pareil pour que le lien dans le site fonctionne toujours. C'est un menu déroulant en JS.

Exemple
Upload Roger1.doc à la racine copier en roger.doc dans un répertoire.
Upload Roger2.doc à la racine copier en roger.doc dans un répertoire celui du répertoire bien entendu écraser pour être à jour.

En vous remerciant d'avance!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

14 avr. 2012, 10:49

Salut,

As tu réalisé l'upload ?
Parce que le "renommage" ce fait avec le move_uploaded_file.
Pour l'unicité utile peux ajouter le timestamp au bout de roger. Par contre je ne comprend pas la contrainte de l'imposition du nom, php fournit à JS le nom des fichiers et pas l'inverse, dans tout les cas tu doit vérifier l'existence du fichier fournit par JS pour éviter le ma connerie (imagine que l'on modifie la source de ton site et que l'on mette index.php au lieux de roger.doc pour une suppression ou un dl, que ce passe t'il ?)


@+
Il en faut peu pour être heureux ......

Fee
Eléphanteau du PHP | 28 Messages

14 avr. 2012, 19:14

Moi c'est pour mettre dans un répertoire à mot de passe dont 2 personnes aurait l'accès.

C'est simplemnt pour rendre plus facile un système ou dans la boite upload #1 tout les fichiers peu importe le nom, le nom final est toujours le même pour que le lien web fonctionne dans le menu déroulant tout en sauvegardant le fichier avec le nom original.

Boite upload #2 un autre fichier etc....

On peu mettre des contrainte d'extention.

J'ai essayer plusieur script d'upload mais je viens de m'apercevoir que le code UTF8 était caché ce qui me causait certain problème.

Je crois ma laisser faire cela cela semble complexe, et ma leur expliquer comment renommer leur fichier manuellent dans un outil FTP.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

15 avr. 2012, 15:28

il faut que ta liste déroulante s'adapate aux noms des fichier et non l'inverse :)


après c'est relativement simple l'upload qu'est ce que tu n'a pas réussi a faire ?


@+
Il en faut peu pour être heureux ......

Fee
Eléphanteau du PHP | 28 Messages

19 avr. 2012, 06:32

Perdont!!! vous venez de me perdre là...


Vous dites que je dois adapter une liste déroulante ???


Ce que je cherche à faire est que peu importe le nom du fichier qui serait télécharger dans une fenêtre précis fonctionne toujours sous le même lien en xhtml sur la page principal ou dans mon menu.

Fee
Eléphanteau du PHP | 28 Messages

19 avr. 2012, 07:17

Ceci est un formulaire trouvé sur le web. Il upload bien.

Présentement il upload dans le dossier "Upload". Je veux garder le fichier avec le nom original dans Upload et que le script le copie dans le répertoire "bleu" et le renommer pour qu'il est le même nom toujours au final.

Comme cela dans les archives dans upload on sait par le nom que la personne donne allo1.jpg allo2.jpg mais dans bleu c'est toujours salut.jpg qui est le dernier et afficher sur la page.

Que dois-je rajouter car pour le moment j'ai que des erreurs. Donc voici le script orignal:

<?php

if( isset($_POST['upload']) ) // si formulaire soumis
{
$content_dir = 'upload/'; // dossier où sera déplacé le fichier

$tmp_file = $_FILES['fichier']['tmp_name'];

if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable");
}

// on vérifie maintenant l'extension
$type_file = $_FILES['fichier']['type'];

if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
{
exit("Le fichier n'est pas une image");
}

// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier']['name'];

if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}

echo "Le fichier a bien été uploadé";
}

?>

Fee
Eléphanteau du PHP | 28 Messages

19 avr. 2012, 07:25

Je viens de penser, est-ce qu'on peu upload un fichier à 2 endroit en même temps et le renommer automatiquement au deuxième endroit avec le nom de mon choix ?

Si oui le code ressablerait à ?