fabdu68200 | Bonjour à tous, J aurais une questions sur le formulaire que j ai fais, en lisant les cours j ai reussi à faire ca
Code :
- <?php
- public function setFile(array $file) {
- $this->file = $file;
- }
- public function uploadFile() {
- $dossier = 'resultat/';
- $fichier = basename($this->file['name']);
- $taille_maxi = 5000000;
- $taille = filesize($this->file['tmp_name']);
- $extensions = array('.png', '.gif', '.jpg', '.jpeg', '.doc', '.docx', '..xlsx', '.xls', '.wma', '.mp3', '.wav', '.pdf', '.txt', '.avi', '.zip', '.rar') ;
- $extension = strrchr($this->file['name'],'.');
- if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
- {
- $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' ;
- }
- if($taille>$taille_maxi)
- {
- $this->error = 'Le fichier est trop gros...';
- }
- if($this->error === NULL)
- {
- //On formate le nom du fichier ici...
- $fichier = strtr($fichier,
- 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
- 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
- $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
- 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é...
- {
- echo '<br/>Transfert du fichier sur notre serveur effectue avec succes !<br/>';
- }
- else //Sinon (la fonction renvoie FALSE).
- {
- echo 'Echec de l\'upload !';
- }
- }
- }
- ?>
|
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 :
- <?php
- public function setFile(array $file) {
- $this->file = $file;
- }
- public function uploadFile() {
- $dossier = 'resultat/';
- $fichier = basename($this->file['name']);
- $taille_maxi = 5000000;
- $taille = filesize($this->file['tmp_name']);
- $extensions = array('.png', '.gif', '.jpg', '.jpeg', '.doc', '.docx', '..xlsx', '.xls', '.wma', '.mp3', '.wav', '.pdf', '.txt', '.avi', '.zip', '.rar') ;
- $extension = strrchr($this->file['name'],'.');
- if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
- {
- $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' ;
- }
- if($taille>$taille_maxi)
- {
- $this->error = 'Le fichier est trop gros...';
- }
- if($this->error === NULL)
- {
- //On formate le nom du fichier ici...
- $fichier = strtr($fichier,
- 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
- 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
- $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
- 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é...
- {
- echo '<br/>Transfert du fichier sur notre serveur effectue avec succes !<br/>';
- }
- else //Sinon (la fonction renvoie FALSE).
- {
- echo 'Echec de l\'upload !';
- }
- }
- }
- ?>
|
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é?
|