IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

script copier un fichier dans un serveur [Fait]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Points : 76
    Points
    76
    Par défaut script copier un fichier dans un serveur
    Bonjour
    je travail une page web (une partie du site web)
    je cherche un script que je doit ajouter a ma page qui permet à mes eleves de me copier leurs devoirs (qui sont des fichier wrd) dans un repertoire specifié.
    par exemple :
    voila le formulaire qui s'affiche à l'etudiant là ou il selectionne son fichier qui est dans son pc ; lorsqu'il clique sur le bouton envoyé ,ce fichier se copi dans mon serveur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
     
    <body>
    <form name="sendfile" method="POST" ENCTYPE="multipart/form-data" action="upload.php3"> 
    <input type="hidden" name="MAX_FILE_SIZE" value="300000"> 
    <p>Fichier à envoyer : 
    <input type="file" name="userfile" size="20"> 
    </p> 
    <input type="submit" value="Envoyer" name="send"> 
    </form> 
     
    </body>
    </html>
    biensure l'eleve ne vas pas parcourir le dossier du serveur .

  2. #2
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_SIGNATURE -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
    Dans la mesure du possible, essayez de montrer votre problème en situation réelle en nous donnant une url, que l'on puisse tester.
    Pensez également à cocher

    Aucun problème ne doit être résolu en MP (Message Privé) le forum est là pour ça.

    Dimension Internet

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Points : 76
    Points
    76
    Par défaut
    Mercie bcp pour le lien c'est trés bien expliqué

  4. #4
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Points : 76
    Points
    76
    Par défaut
    bonjour
    j'ai fait tout comme le lien que vous m'avez donné, mais le prog ne fait pas le upload des fichier plus que 100k prkoi?

  5. #5
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Sans connaître les paramètres de ton serveur et ton code PHP impossible de te répondre.
    -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_SIGNATURE -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
    Dans la mesure du possible, essayez de montrer votre problème en situation réelle en nous donnant une url, que l'on puisse tester.
    Pensez également à cocher

    Aucun problème ne doit être résolu en MP (Message Privé) le forum est là pour ça.

    Dimension Internet

  6. #6
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Points : 76
    Points
    76
    Par défaut
    je pense que ds le fichier de configuration de php la taille de upload est prédefini, ou pourrai je la modifier svp

  7. #7
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Points : 76
    Points
    76
    Par défaut
    voila le fichier upload2.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
     
    <body>
    <?php
    if(isset($_FILES['devoir']))
    { 
         $dossier = 'Gad_etud_rep/';
         $fichier = basename($_FILES['devoir']['name']);
    	 ///////////////////////////
    	 $taille_maxi = 1000000;
    $taille = filesize($_FILES['devoir']['tmp_name']);
    $extensions = array('.doc');
    $extension = strrchr($_FILES['devoir']['name'], '.'); 
    //////////////////
    //Début des vérifications de sécurité...
    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    {
         $erreur1 = 'Vous devez uploader un fichier de type doc';
    	  echo $erreur1;
    }
    if($taille>$taille_maxi)
    {
         $erreur2 = 'Le fichier est trop gros...';
    	 echo $erreur2;
    }
    if(!isset($erreur1)) //S'il n'y a pas d'erreur, on upload
    {if(!isset($erreur2))
    {
         //On formate le nom du fichier ici...
         $fichier = strtr($fichier, 
              'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
              'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
         $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
         if(move_uploaded_file($_FILES['devoir']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
         {
              echo  'Upload effectué avec succès !';
         }
         else //Sinon (la fonction renvoie FALSE).
         {
              echo 'Echec de l\'upload !';
         }
    }
    //else
     
     //   echo $erreur1;
    }
    }
    ?>
    et voila le fichier du formulaire "Gad_etud_rep2.php"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
     
    <body>
    <form method="POST" action="upload2.php" enctype="multipart/form-data">	
    <input type="hidden" name="MAX_FILE_SIZE" value="100000">
    <input type="file" name="devoir">
    <input type="submit" name="envoyer" value="Envoyer le fichier">
    </form>
     
    </body>
    </html>

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Points : 103
    Points
    103
    Par défaut
    Citation Envoyé par Amel_B Voir le message
    voila le fichier upload2.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
     
    <body>
    <?php
    if(isset($_FILES['devoir']))
    { 
         $dossier = 'Gad_etud_rep/';
         $fichier = basename($_FILES['devoir']['name']);
    	 ///////////////////////////
    	 $taille_maxi = 1000000;
    $taille = filesize($_FILES['devoir']['tmp_name']);
    $extensions = array('.doc');
    $extension = strrchr($_FILES['devoir']['name'], '.'); 
    //////////////////
    //Début des vérifications de sécurité...
    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    {
         $erreur1 = 'Vous devez uploader un fichier de type doc';
    	  echo $erreur1;
    }
    if($taille>$taille_maxi)
    {
         $erreur2 = 'Le fichier est trop gros...';
    	 echo $erreur2;
    }
    if(!isset($erreur1)) //S'il n'y a pas d'erreur, on upload
    {if(!isset($erreur2))
    {
         //On formate le nom du fichier ici...
         $fichier = strtr($fichier, 
              'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
              'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
         $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
         if(move_uploaded_file($_FILES['devoir']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
         {
              echo  'Upload effectué avec succès !';
         }
         else //Sinon (la fonction renvoie FALSE).
         {
              echo 'Echec de l\'upload !';
         }
    }
    //else
     
     //   echo $erreur1;
    }
    }
    ?>
    et voila le fichier du formulaire "Gad_etud_rep2.php"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
     
    <body>
    <form method="POST" action="upload2.php" enctype="multipart/form-data">	
    <input type="hidden" name="MAX_FILE_SIZE" value="100000">
    <input type="file" name="devoir">
    <input type="submit" name="envoyer" value="Envoyer le fichier">
    </form>
     
    </body>
    </html>
    Bonjour,

    Concernant ton problème sur le poid du fichier, la valeur dans tes fichier sont différent une fois un million et lautre cent mille, il faut que les deux soient identique soit un million partout

    Runcafre91

  9. #9
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Points : 76
    Points
    76
    Par défaut
    oui oui vous avez raison

    mercie bcp

    mais prkoi quand j'ai mis les 2 valeurs 100, et quand je telecharge un fichier plus grand il ne m'affich pas le $erreur2 il affich echec de l'upload

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
     
    <body>
    <?php
    if(isset($_FILES['devoir']))
    { 
         $dossier = 'Gad_etud_rep/';
         $fichier = basename($_FILES['devoir']['name']);
    	 ///////////////////////////
    	 $taille_maxi = 100;
    $taille = filesize($_FILES['devoir']['tmp_name']);
    $extensions = array('.doc');
    $extension = strrchr($_FILES['devoir']['name'], '.'); 
    //////////////////
    //Début des vérifications de sécurité...
    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    {
         $erreur1 = 'Vous devez uploader un fichier de type doc';
    	  echo $erreur1;
    }
    if($taille>$taille_maxi)
    {
         $erreur2 = 'Le fichier est trop gros...';
    	 echo $erreur2;
    } 
    if(!isset($erreur1)) //S'il n'y a pas d'erreur, on upload
    {if(!isset($erreur2))
    {
         //On formate le nom du fichier ici...
        /*  $fichier = strtr($fichier, 
              'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
              'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
         $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier); */
         if(move_uploaded_file($_FILES['devoir']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
         {
              echo  'Upload effectué avec succès !';
         }
         else //Sinon (la fonction renvoie FALSE).
         {
              echo 'Echec de l\'upload !';
         }
    }
     
    }//else {echo $erreur;}
    }
    //////////////////
     
    ?>
     
    </body>
    </html>

  10. #10
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Points : 103
    Points
    103
    Par défaut
    re,
    tu n'a pas compris ce que je voualis dire
    Voici tes deux fichiers que j'ai modifié les valeur
    l'erreur 1 test le type de cocument
    l'erreur 2 test le poids du document

    fichier 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
     
    <body>
    <?php
    if(isset($_FILES['devoir']))
    { 
         $dossier = 'Gad_etud_rep/';
         $fichier = basename($_FILES['devoir']['name']);
    	 ///////////////////////////
     
    	 $taille_maxi = 1000000; // taille maxi du document upload
     
    $taille = filesize($_FILES['devoir']['tmp_name']);
    $extensions = array('.doc');
    $extension = strrchr($_FILES['devoir']['name'], '.'); 
    //////////////////
    //Début des vérifications de sécurité...
    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    {
         $erreur1 = 'Vous devez uploader un fichier de type doc';
    	  echo $erreur1;
    }
    if($taille>$taille_maxi)
    {
         $erreur2 = 'Le fichier est trop gros...';
    	 echo $erreur2;
    } 
    if(!isset($erreur1)) //S'il n'y a pas d'erreur, on upload
    {if(!isset($erreur2))
    {
         //On formate le nom du fichier ici...
        /*  $fichier = strtr($fichier, 
              'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
              'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
         $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier); */
         if(move_uploaded_file($_FILES['devoir']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
         {
              echo  'Upload effectué avec succès !';
         }
         else //Sinon (la fonction renvoie FALSE).
         {
              echo 'Echec de l\'upload !';
         }
    }
     
    }//else {echo $erreur;}
    }
    //////////////////
     
    ?>
     
    </body>
    </html>
    fichier 2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
     
    <body>
    <form method="POST" action="upload2.php" enctype="multipart/form-data">	
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000"> /*il manquait un 0 ici*/ 
    <input type="file" name="devoir">
    <input type="submit" name="envoyer" value="Envoyer le fichier">
    </form>
     
    </body>
    </html>
    Je ne vois pas la connexion à ta base de donnée pour envoyé tes données
    il faudrais mettre tes infos de connexion (host,mot de passe, base de donnée)
    Le plus simple au lieu de faire deux fichiers distinctes, tu peux en faire qu'une seule ca sera plus simple.

    bon courage
    Runcafre91

  11. #11
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Points : 76
    Points
    76
    Par défaut
    merci
    si si j'ai compri et je les ai corrigé j'ai fait 1000000 dans les deux fichiers et ça a marché bien mais j'ai essayé de faire 100 dans les deux fichiers et j'ai essayé de telecharger un fichier dont sa taille plus que 100 alors normalement il m'affiche le $erreur2 qui est "taille de fichier gros", mais il nel' affiche pas il affiche "echec de l'upload" et biensur le fichier ne se copi pas.

    prkoi il ne m'affiche pas $erreur2 pourtant G fait la condition?

  12. #12
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Points : 76
    Points
    76
    Par défaut
    çava ça va merci bcp ça marche trés bien, et vous avez raison je les ai fait ds un seul fichier
    merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Copier un fichier dans un dossier sur le serveur avec PHP
    Par dotnet_kbma dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 31/01/2010, 21h27
  2. Copier un fichier dans un répertoire
    Par soft damsel dans le forum Langage
    Réponses: 2
    Dernier message: 14/02/2006, 16h02
  3. Copier un fichier dans une chaine
    Par Fry dans le forum C++
    Réponses: 4
    Dernier message: 30/09/2005, 00h02
  4. [Système] Comment copier un fichier dans le presse papier ?
    Par le y@m's dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 19/09/2005, 12h03
  5. Réponses: 4
    Dernier message: 17/06/2005, 10h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo