0, 'display_errors' => 1, 'error_log' => 0, 'html_errors' => 0, 'date.timezone' => 'Europe/Paris'); array_walk($arr_ini_set, create_function('$v, $k', 'ini_set($k, $v);')); if (!setlocale(LC_ALL, 'french')) { echo 'locale not set'; } if (get_magic_quotes_gpc()) { $_REQUEST = array_map('stripslashes', $_REQUEST); } // Répertoire d'upload et message $str_repertoire_upload = dirname(__FILE__).DIRECTORY_SEPARATOR; $str_message = ''; // Liste des fichiers du répertoire. $arr_str_liste_fichier = glob($str_repertoire_upload.'*'); $arr_str_liste_fichier = array_map('basename', $arr_str_liste_fichier); $arr_str_liste_fichier = array_combine($arr_str_liste_fichier, $arr_str_liste_fichier); $arr_str_fichier_masque = array(basename($_SERVER['SCRIPT_NAME']), 'web.config'); foreach($arr_str_fichier_masque as $str_fichier_masque) { unset($arr_str_liste_fichier[$str_fichier_masque]); } // Gestion de la suppression de fichiers. if (isset($_REQUEST['supprimer']) && is_string($_REQUEST['supprimer']) && isset($arr_str_liste_fichier[$_REQUEST['supprimer']])) { if (unlink($str_repertoire_upload.$arr_str_liste_fichier[$_REQUEST['supprimer']])) { $str_message = 'Fichier supprimé !'; } else { $str_message = 'Erreur de suppression de fichier !'; } unset($arr_str_liste_fichier[$_REQUEST['supprimer']]); } // Gestion de l'upload. if (isset($_FILES['fichier'])) { $str_nom_fichier = basename($_FILES['fichier']['name']); // Liste blanches d'extension $arr_str_extension = array('txt', 'zip', 'rar', 'jpg', 'gif', 'png', 'dat', 'avi', 'mp3', 'doc', 'xls', 'mdb'); $str_extension = strtolower(pathinfo($str_nom_fichier, PATHINFO_EXTENSION)); if (!in_array($str_extension, $arr_str_extension)) { $str_message = 'Extensions autorisées: '.implode(', ', $arr_str_extension); } if (!$str_message) { $str_nom_fichier = strtr($str_nom_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); $str_nom_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $str_nom_fichier); if (move_uploaded_file($_FILES['fichier']['tmp_name'], $str_repertoire_upload.$str_nom_fichier)) { $str_message = 'Upload effectué avec succès !'; $arr_str_liste_fichier[$str_nom_fichier] = $str_nom_fichier; } else { $str_message = 'Echec de l\'upload !'; } } } // Affichage du CSS; echo ' '; // Affichage des infos d'upload $arr_str_parametre_php = array('file_uploads', 'upload_max_filesize'); if ($arr_str_parametre_php) { echo '

'; foreach($arr_str_parametre_php as $str_parametre_php) { echo htmlspecialchars($str_parametre_php.' : '.ini_get($str_parametre_php).'. ', ENT_QUOTES); } echo '

'; } // Affichage du formulaire d'upload echo '
Fichier :
'; // Affichage d'un message. if ($str_message) { echo '

'.htmlspecialchars($str_message, ENT_QUOTES).'

'; } // Affichage de la liste des fichiers. if ($arr_str_liste_fichier) { natcasesort($arr_str_liste_fichier); echo ''; foreach($arr_str_liste_fichier as $str_fichier) { echo "\n"; echo ''; echo ''; // Affichage du formulaire de suppression de fichier. echo ''; } echo '
'.htmlspecialchars($str_fichier, ENT_QUOTES).''.number_format(filesize($str_repertoire_upload.$str_fichier) / 1024.0, 0, '', ' ').' Ko'; echo '
'; echo '
'; } echo '
'; highlight_file(__FILE__);