Bonjour,
comme le dis mon titre j'ai mis en place un upload de fichier .pdf sur un de mes sites.
Ce fichier ne doit pas dépasser 1Mo et être obligatoirement en pdf
Or 1 fois sur 10 environs le client m'envoie directement le fichier pour que je l'upload via la ftp car le code ne fonctionne pas. Pourtant le fichier semble correct.
Voici le code concerné
Dans le cas des erreurs c'est le texte "Erreur lors de l'envoi du fichier" qui s'affiche. C'est donc move_uploaded_file qui ne fonctionne pas mais je ne comprends pas pourquoi.
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 if(isset($_FILES['fichier_assurance'])) { $dossier = '__upload/_assurance/'; $fichier = basename($_FILES['fichier_assurance']['name']); $taille_maxi = 1100000; $taille = filesize($_FILES['fichier_assurance']['tmp_name']); $extensionsAllow = array('.pdf'); $extensionVerif = strtolower(strrchr($_FILES['fichier_assurance']['name'], '.')); $extension = strrchr($_FILES['fichier_assurance']['name'], '.'); //Début des vérifications de sécurité... if(!in_array($extensionVerif, $extensionsAllow)) //Si l'extension n'est pas dans le tableau { $erreur = 'Vous devez uploader un fichier de type PDF '.$extension; } if($taille>$taille_maxi) { $erreur = 'Le fichier est trop lourd, la taille autorisée ne doit pas dépasser 500 Ko.'; } if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload { //On formate le nom du fichier ici... if(move_uploaded_file($_FILES['fichier_assurance']['tmp_name'], $dossier.$nomFichier.'.pdf')) //Si la fonction renvoie TRUE, c'est que ça a fonctionné... { echo '<font color="green"><b>Fichier intégré avec succès</b></font><br /><br />'; } else //Sinon (la fonction renvoie FALSE). { echo '<font color="red"><b>Erreur lors de l\'envoi du fichier</b></font><br /><br />'; } } else { echo '<font color="red"><b>'.$erreur.'</b></font><br /><br />'; } }
Merci d'avance pour votre aide
Partager