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 :

upload fichier sur formulaire


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2014
    Messages : 14
    Points : 6
    Points
    6
    Par défaut upload fichier sur formulaire
    Bonjour

    J'ai créé un formulaire avec upload fichier, juste un probleme lorsque l'on m'envoie un fichier dont le nom a un blanc je ne peux le télécharger
    si par exemple le nom du fichier est nom prenom.doc sur le mail que je reçois je n'ai que la partie en gras ce qui me donne un message erreur
    nom was not found on this server
    http://www.....fr/upload/526552/nom prenom.doc

    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
     
    $page_web=str_replace("[SESSION_ID]","?".session_name()."=".session_id(),$page_web);
    $chiffre=rand(100,999).rand(100,999).rand(100,999);
    $content_dir = 'upload/'; 
    $content_dir.=$chiffre."/";
    $envoi_mail_pj=1;
    IF (!file_exists("./upload")){
    umask(0);
    @mkdir("./upload",0777);
    }
    IF (!file_exists("./upload/$chiffre")){
    umask(0);
    @mkdir("./upload/$chiffre",0777);
    }$nb_fic=0;
    $url_chemin=str_replace("formulaire.php","","http://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'] );
    $tmp_file = $_FILES['id_14']['tmp_name'];
    if (is_uploaded_file($tmp_file['tmp_name'])) {
     
    exit("Le fichier est introuvable");
    }
     
    if ( $_FILES['id_14']['size']>75000){
    exit("Le poids de votre fichier est trop important.");
    }
     
    // on vérifie maintenant l'extension
    $type_file1 = explode(".",$_FILES['id_14']['name']);
    $type_file=strtolower($type_file1[count($type_file1)-1]);
    if (!strstr($type_file, 'doc')&&  !strstr($type_file, 'docx')&&  !strstr($type_file, 'pdf')){
    exit("Le type de fichier " . $type_file . " n'est pas autorisé ou fichier vide");
    }
     
    // on copie le fichier dans le dossier de destination
    $name_file = $_FILES['id_14']['name'];
     
    if( @preg_match('#[\x00-\x1F\x7F-\x9F/\\]#', $name_file))
    {
    exit("Nom de fichier non valide");
    }
    else {
    if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
    {
    exit("Impossible de copier le fichier dans $content_dir");
    }
    else {
      $url_upload.='fichier à télécharger sur le serveur : '.$url_chemin.$content_dir . $name_file.'<br>';
      $nb_fic++;
    $tab_fic[$nb_fic][0]=$content_dir . $name_file;
    $tab_fic[$nb_fic][1]=$_FILES['id_14']['type'];
    }	
    }
     
     
    $data.=$url_upload;
    include('class.phpmailer.php');
    if (@count($_SESSION["champs"] )>0) {
       foreach ($_SESSION["champs"] as $key => $value) {
         $data.=$value["libelle"]."=".$value["contenu"]."<br>";
       }
    }
    $data.=$msg_client_txt; 
    $mail = new PHPMailer();
    $mail->From     = "..";
    $mail->FromName = "";
    $mail->Subject="Essai" ;
    $mail->AddAddress('....', '');
     
    $mail->Body    = $data.$msg_html_prod;
    $mail->AltBody = $data.$msg_txt_prod;
          if ($nb_fic>0 && $envoi_mail_pj==1){ 
    $x=1;
     
    while ($x<=count($tab_fic)){
     
    //$m->attachFile($tab_fic[$x][0],$tab_fic[$x][1]);
    $mail->AddAttachment($tab_fic[$x][0], $tab_fic[$x][1]);
    $x++;
    }
    }
    $mail->send();
    session_destroy() ;
    header("location: http://www.....fr/merci.html");
    exit();
    ?>

  2. #2
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    dans ton lien remplace les espaces " " par "%20"

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2014
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par patrickbaras Voir le message
    dans ton lien remplace les espaces " " par "%20"
    Bonsoir
    J ai remplacé à la ligne 64 par %20 mais je pense que ce n'est pas celle ci cà ne marche toujour pas

  4. #4
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $url_upload.='fichier à télécharger sur le serveur : '.$url_chemin.$content_dir . str_replace(" ","%20",$name_file) .'<br>';

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2014
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Tout d'abord merci pour ton aide mais cela ne marche toujours pas

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2014
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Erreur de ma part OK pour upload fichier
    Merci

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 03/03/2014, 08h16
  2. [.NET2]Upload Fichier sur FTP (FtpWebRequest)
    Par nephhh dans le forum C#
    Réponses: 0
    Dernier message: 16/08/2007, 22h16
  3. [.NET 2.0] Probleme upload fichier sur ftp avec My
    Par Aspic dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/03/2007, 09h10
  4. [Upload] upload fichier sur ftp free
    Par Halukard dans le forum Langage
    Réponses: 61
    Dernier message: 12/02/2006, 20h50
  5. [Web] Upload fichier via formulaire HTTP
    Par nik00s dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 11/08/2005, 12h27

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