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();
?>