[RESOLU] Upload file!!!

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Upload file!!!

Re: Upload file!!!

par ghost5922 » 31 mai 2013, 07:31

Bonjour,

si tu pense que ton problème et réglé merci de mettre ton sujet en résolu merci

Re: Upload file!!!

par ouiiou » 31 mai 2013, 00:13

Ca marche! Je te remercie bien! ghost5922

Re: Upload file!!!

par ouiiou » 30 mai 2013, 23:40

Le fichier vieux etait encore écrasé. Et dans le navigateur, il s'affichait le message "Erreur".

Re: Upload file!!!

par ghost5922 » 30 mai 2013, 23:29

Ok si le nom du fichier d'importe peux utilise directement la fonction time();
<?php
         // Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
         if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
         {
            // Testons si le fichier n'est pas trop gros
            if ($_FILES['monfichier']['size'] <= 1000000)
            {
                // Testons si l'extension est autorisée
                $infosfichier = pathinfo($_FILES['monfichier']['name']);
                //foreach($infosfichier as $a) echo $a .'<br/>';
                $extension_upload = $infosfichier['extension'];
                //echo $extension_upload .'<br/>';
                $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
                if (in_array($extension_upload, $extensions_autorisees))
                {
                   // On peut valider le fichier et le stocker définitivement
                   //tmp_name est pour remplacher le fichier est entrain d'attendre sur le repertoire temporaire du serveur a l'autre repertoire.
                   //$fichier = basename($_FILES['monfichier']['name']);
                   $fichier = $infosfichier['filename'] .time().'.'.$extension_upload;
                   $fichier = strtr($fichier,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
                   //echo $fichier .' avec path = ' .$_FILES['monfichier']['tmp_name'] .'<br/>';
                   $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
                   echo $fichier .'<br/>';
                   if(move_uploaded_file($_FILES['monfichier']['tmp_name'], '../Uploads/' .$fichier)){
                   	echo "L'envoi a bien été effectué !";
					//ici tu insert en base de donne
				   }
				   else{
						echo'Erreur';   
				   }
                }
            }
         }
 ?>

Re: Upload file!!!

par ouiiou » 30 mai 2013, 23:26

Oui, c'est ca, je veux les mettre dans une base de données. Mais je comprends pas pourquoi l'encien etait écrasé. Et le nom du fichier ne changait pas Malgré que j'ai changé le code comme ca:
move_uploaded_file($_FILES['monfichier']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/Uploads/' .'aaaa');
pour tester.

Re: Upload file!!!

par ghost5922 » 30 mai 2013, 23:20

Ok alors j'ai pas compris ta demande du coup avec cette ligne
$fichier = $infosfichier['filename'] .date(d).date(m).date(Y).date(H).date(i).date(s).'.'.$extension_upload;
tu récupère le nom du fichier + date + extension

tu veux pouvoir les gardes en mémoire ? si oui tu peux les mettre en base de donnée

Re: Upload file!!!

par ouiiou » 30 mai 2013, 23:17

tu vois dans mes codes. J'ai changé dèja le variables $fichier comme :
$fichier = $infosfichier['filename'] .date(d).date(m).date(Y).date(H).date(i).date(s).'.'.$extension_upload; 

Re: Upload file!!!

par ghost5922 » 30 mai 2013, 23:15

Bonjour,

sur cette ligne
move_uploaded_file($_FILES['monfichier']['tmp_name'], '../Uploads/' .$fichier);
move_uploaded_file("fichier temporaire","le future nom du fichier");

donc tu dois modifier '../Uploads/'.$fichier par '../Uploads/le nom du fichier que tu veux.'.$extension_upload

Upload file!!!

par ouiiou » 30 mai 2013, 22:59

Bonjour à tous!
Comment de changer le nom du fichier quand on le telecharger vers le serveur. Parce que je veux telecharger beaucoup de fichier identiques vers un répertoire du serveur.
Voici c'est mon fichier cible.php
<?php
         // Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
         if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
         {
            // Testons si le fichier n'est pas trop gros
            if ($_FILES['monfichier']['size'] <= 1000000)
            {
                // Testons si l'extension est autorisée
                $infosfichier = pathinfo($_FILES['monfichier']['name']);
                //foreach($infosfichier as $a) echo $a .'<br/>';
                $extension_upload = $infosfichier['extension'];
                //echo $extension_upload .'<br/>';
                $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
                if (in_array($extension_upload, $extensions_autorisees))
                {
                   // On peut valider le fichier et le stocker définitivement
                   //tmp_name est pour remplacher le fichier est entrain d'attendre sur le repertoire temporaire du serveur a l'autre repertoire.
                   //$fichier = basename($_FILES['monfichier']['name']);
                   $fichier = $infosfichier['filename'] .date(d).date(m).date(Y).date(H).date(i).date(s).'.'.$extension_upload;
                   $fichier = strtr($fichier,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
                   //echo $fichier .' avec path = ' .$_FILES['monfichier']['tmp_name'] .'<br/>';
                   $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
                   echo $fichier .'<br/>';
                   move_uploaded_file($_FILES['monfichier']['tmp_name'], '../Uploads/' .$fichier);
                   echo "L'envoi a bien été effectué !";
                }
            }
         }
 ?>
Mais le nom du fichier qui est telecharger ne changeait pas! Et l'ancien était écrasé. Merci d'avance!