file_uploads : 1. upload_max_filesize : 128M.

Fichier :
upload.txt4 Ko

<?php

/**
 * @file index.php
 * @brief Page d'upload
 *
 * @author hughes monget
 * @see http://www.monget.com/
 */

// Paramétrages PHP
//error_reporting(E_ALL | E_NOTICE | E_STRICT);
error_reporting(0);
set_time_limit(0);
$arr_ini_set = array('log_errors' => 0'display_errors' => 1'error_log' => 0'html_errors' => 0'date.timezone' => 'Europe/Paris');
array_walk($arr_ini_setcreate_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_fichierPATHINFO_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
'
<style type="text/css">
<!--
table td
{
    /* font-family: monospace; */
}
-->
</style>
'
;

// Affichage des infos d'upload
$arr_str_parametre_php = array('file_uploads''upload_max_filesize');
if (
$arr_str_parametre_php)
{
    echo 
'<p>';
    foreach(
$arr_str_parametre_php as $str_parametre_php)
    {
        echo 
htmlspecialchars($str_parametre_php.' : '.ini_get($str_parametre_php).'. 'ENT_QUOTES);
    }
    echo 
'</p>';
}

// Affichage du formulaire d'upload
echo
'
<form method="post" action="'
,htmlspecialchars($_SERVER['SCRIPT_NAME'], ENT_QUOTES),'" enctype="multipart/form-data">
    Fichier : <input type="file" name="fichier">
    <input type="submit" name="envoyer" value="Envoyer le fichier">
</form>
'
;

// Affichage d'un message.
if ($str_message)
{
    echo 
'<p>'.htmlspecialchars($str_messageENT_QUOTES).'</p>';
}

// Affichage de la liste des fichiers.
if ($arr_str_liste_fichier)
{
    
natcasesort($arr_str_liste_fichier);
    echo 
'<table>';
    foreach(
$arr_str_liste_fichier as $str_fichier)
    {
        echo 
"\n";
        echo 
'<tr><td><a target="_blank" href="',htmlspecialchars($str_fichierENT_QUOTES),'">'.htmlspecialchars($str_fichierENT_QUOTES).'</a></td>';
        echo 
'<td style="text-align: right">'.number_format(filesize($str_repertoire_upload.$str_fichier) / 1024.00''' ').' Ko</td>';
        
// Affichage du formulaire de suppression de fichier.
        
echo '<td>';
        echo 
'
<form method="post" action="'
,htmlspecialchars($_SERVER['SCRIPT_NAME'], ENT_QUOTES),'">
    <input type="hidden" name="supprimer" value="'
,htmlspecialchars($str_fichierENT_QUOTES),'" />
    <input type="submit" value="x" />
</form>
'
;
        echo 
'</td></tr>';
    }
    echo 
'</table>';
}

echo 
'<hr />';
highlight_file(__FILE__);