Voici mon script d'uplaod d'image qui marchait bien jusqu'a aujourd'hui.
Il m'indique maintenant une erreur à la ligne 29 au niveau de la verification du format du fichier. Etant débutant en php, je n'arrive pas a trouver d'ou viens cette erreur.
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103 <?php /** * function formatFileName * @access public * @param string - nom de fichier à formater * @param int - longueur maximale autorisée pour le nom de fichier * @return string - nom de fichier formaté * @desc Tronque éventuellement le nom de fichier, le convertit en minuscules et * y élimine les caractères potentiellement dangereux. */ function formatFileName($aFileName, $aMaxLength = 50) { $aFileName = strToLower(subStr($aFileName, 0, $aMaxLength)); $aFileName = ereg_replace('[^a-zA-Z0-9,._\+\()\-]', '_', $aFileName); return $aFileName; } // end of function formatFileName() /2 /* PARAMETRES DE CONFIGURATION DU SCRIPT */ /* chemin d'accès au répertoire d'upload (vers où le fichier uploadé temporaire sera transféré)*/ /* ce répertoire doit EXISTER et être ACCESSIBLE EN ECRITURE !!*/ $destination_dir = 'C:\Program Files\EasyPHP1-8\www\Phototheque_sp\photos\'; /* taille maximale en octets du fichier à uploader*/ $file_max_size = 1000000; /* extensions de fichiers autorisées*/ $authorized_extensions = array('jpg', 'gif'); /* TRAITEMENT PRINCIPAL */ /* vérifie l'existence du répertoire de destination */ if (!is_dir($destination_dir)) { echo 'Veuillez indiquer un répertoire destination correct !'; die(); } // vérifie que répertoire de destination a des droits en écriture if (!is_writeable($destination_dir)) { echo 'Veuillez spécifier des droits en écriture pour le répertoire destination !'; die(); } // réception du formulaire if (isSet($_POST['submitFile'])) { // vérifie qu'un fichier a bien été soumis if (isSet($_FILES) && is_array($_FILES)) { // pas d'erreur lors de l'upload if ($_FILES['photo']['error'] == UPLOAD_ERR_OK) { // vérifie la taille en octets if ($_FILES['photo']['size'] <= $file_max_size) { // vérifie l'extension du fichier recu // il est aussi possible (et sans doute mieux) de se baser sur $_FILES['aFile']['type'] // qui retourne le type MIME correspondant (par exemple: image/pjpeg) $lastPos = strRChr($_FILES['photo']['name'], "."); if ($lastPos !== false && in_array(strToLower(subStr($lastPos, 1)), $authorized_extensions)) { // définit un nom de fichier destination unique à partir du nom du fichier original formaté /* $destination_file = time().formatFileName($_FILES['photo']['name']); */ // déplace le fichier uploadé du répertoire temporaire // vers les répertoire/fichier destination spécifiés if (move_uploaded_file($_FILES['photo']['tmp_name'], $destination_dir.DIRECTORY_SEPARATOR.$destination_file)) { echo '<h6>Fichier valide et uploadé correctement.</h6>'; } else { // error sur move_uploaded_file echo '<h6>Le fichier n\'a pas été uploadé correctement !</h6>'; } } else { // pas d'extension ou mauvaise extension echo '<h6>Mauvaise extension !</h6>'; } } else { // Taille maximale dépassée echo '<h6>Fichier trop volumineux !</h6>'; } } else { // Erreur lors de l'upload switch ($_FILES['photo']['error']){ case UPLOAD_ERR_INI_SIZE: echo '<h6>Le fichier uploadé dépasse la valeur spécifiée pour upload_max_filesize dans php.ini.</h6>'; break; case UPLOAD_ERR_FORM_SIZE: echo '<h6>Le fichier uploadé dépasse la valeur spécifiée pour MAX_FILE_SIZE dans le formulaire d\'upload.</h6>'; break; case UPLOAD_ERR_PARTIAL: echo '<h6>Le fichier n\'a été que partiellement uploadé.</h6>'; break; default: echo '<h6>Aucun fichier n\'a été uploadé.</h6>'; } // switch } } else { // aucun fichier reçu echo '<h6>Pas de fichier recu</h6>'; } } // fin de réception de formulaire ?>
Je vous remercie d'avance pour votre aide.
Partager