upload de fichier

upload de fichier - PHP - Programmation

Marsh Posté le 21-05-2012 à 15:45:13    

Bonjour à tous,  
J aurais une questions sur le formulaire que j ai fais, en lisant les cours j ai reussi à faire ca
 

Code :
  1. <?php
  2. public function setFile(array $file) {
  3.       $this->file = $file;
  4. }
  5. public function uploadFile() {
  6.    $dossier = 'resultat/';
  7.    $fichier = basename($this->file['name']);
  8.    $taille_maxi = 5000000;
  9.    $taille = filesize($this->file['tmp_name']);
  10.    $extensions = array('.png', '.gif', '.jpg', '.jpeg', '.doc', '.docx', '..xlsx', '.xls', '.wma', '.mp3', '.wav', '.pdf', '.txt', '.avi', '.zip', '.rar') ;
  11.    $extension = strrchr($this->file['name'],'.');
  12.    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
  13.    {
  14.      $this->error = 'Vous devez uploder un fichier de type png, jpg, gif, jpeg, doc, docx, xls, xlsx, wma, mp3, wav, pdf, txt, avi, zip, rar' ;
  15.    }
  16.    if($taille>$taille_maxi)
  17.    {
  18.    $this->error = 'Le fichier est trop gros...';
  19.    }
  20. if($this->error === NULL)
  21. {
  22.      //On formate le nom du fichier ici...
  23.      $fichier = strtr($fichier,
  24.           'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
  25.           'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
  26.      $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
  27.     if(move_uploaded_file($this->file['tmp_name'], $dossier .    $nom = md5(uniqid(rand(), true)) . $extension)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
  28.      {
  29.           echo '<br/>Transfert du fichier sur notre serveur effectue avec succes !<br/>';
  30.      }
  31.      else //Sinon (la fonction renvoie FALSE).
  32.      {
  33.           echo 'Echec de l\'upload !';
  34.      }
  35. }
  36. }
  37. ?>


 
 
Ce formulaire verifie mes champs et m envoie le dossier uploader dans le dossier resultat et renomme le fichiers.
 
J essaye de faire depuis hier, c est que plutot que le fichier sois renommé , que le fichier sois placer dans un dossier different a chaque fois. Alors j ai modifié mon code en faisant ca:
 
 

Code :
  1. <?php
  2. public function setFile(array $file) {
  3.       $this->file = $file;
  4. }
  5. public function uploadFile() {
  6.    $dossier = 'resultat/';
  7.    $fichier = basename($this->file['name']);
  8.    $taille_maxi = 5000000;
  9.    $taille = filesize($this->file['tmp_name']);
  10.    $extensions = array('.png', '.gif', '.jpg', '.jpeg', '.doc', '.docx', '..xlsx', '.xls', '.wma', '.mp3', '.wav', '.pdf', '.txt', '.avi', '.zip', '.rar') ;
  11.    $extension = strrchr($this->file['name'],'.');
  12.    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
  13.    {
  14.      $this->error = 'Vous devez uploder un fichier de type png, jpg, gif, jpeg, doc, docx, xls, xlsx, wma, mp3, wav, pdf, txt, avi, zip, rar' ;
  15.    }
  16.    if($taille>$taille_maxi)
  17.    {
  18.    $this->error = 'Le fichier est trop gros...';
  19.    }
  20. if($this->error === NULL)
  21. {
  22.      //On formate le nom du fichier ici...
  23.      $fichier = strtr($fichier,
  24.           'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
  25.           'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
  26.      $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
  27.     if(move_uploaded_file($this->file['tmp_name'], $dossier .    mkdir('fichier/1/', 0777, true) . $extension)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
  28.      {
  29.           echo '<br/>Transfert du fichier sur notre serveur effectue avec succes !<br/>';
  30.      }
  31.      else //Sinon (la fonction renvoie FALSE).
  32.      {
  33.           echo 'Echec de l\'upload !';
  34.      }
  35. }
  36. }
  37. ?>


 
Alors maintenant j ai bien un dossier qui ce creer au moment de l upload, mais mon le fichier ne va pas dans le dossier qui vien dans ce creer mais il va dans le dossier resultat et le fichier ce fais renommé et ne garde pas son nom d origine comme je voudrais.
 
Est ce que quelqu un peut m aiguillé?

Reply

Marsh Posté le 21-05-2012 à 15:45:13   

Reply

Marsh Posté le 23-05-2012 à 11:32:24    

Bonjour je cherche à créer un camembert en php et insérer les donnéees de la base de donnée dans mon programme.J'arrive a éffectuer un camembert mais mes données de la base de données ne s'affiche pas. Et je voudrais aussi savoir comment mettre les données en pourcentage et les afficher sur le camembert.

Reply

Marsh Posté le 24-05-2012 à 08:14:10    

ps: est-ce que qulqu'un pourrait m'aider?

Reply

Marsh Posté le 24-05-2012 à 10:24:46    

Bouton "Créer un nouveau message".
Ton sujet n'a rien à voir au sujet initial.  


---------------
"Il a inventé le bougisme : je bouge donc je suis" :sol: - Dupont-Aignan à propos de Son Altesse Sérénissime Sarkal 1er. Merci Handsome Devil et Meriadeck.
Reply

Marsh Posté le 24-05-2012 à 11:29:00    

ligne 33 tu declares $fichier (qui j'imagine est le nom du fichier 'cible')
ligne 34 tu n'utilises pas $fichier mais mkdir("/fichier/1/" )
 
ca peux pas marcher proprement car mkdir renvoi un boolean (0 ou 1)
 
if(move_uploaded_file($this->file['tmp_name'], $dossier .  $fichier . $extension))
devrait marcher


---------------
[VDS] rail vesa, bras ecran, support TV / [ACH] des machins
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed