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
| <?php
mkdir ("".$_POST[pseudo], 0777);
//
// Fonction trouvée dans la documentation de la fonction ini_get()
//
function return_bytes($val) {
$val = trim($val);
$last = strtolower($val{strlen($val)-1});
switch($last) {
// The 'G' modifier is available since PHP 5.1.0
case 'g':
$val *= 1024;
case 'm':
$val *= 1024;
case 'k':
$val *= 1024;
}
return $val;
}
define('MAX_FILE_SIZE', return_bytes(ini_get('post_max_size')));
define('UPLOAD_DIRECTORY', '"./" . $_POST[pseudo]."/"');
if(!empty($_FILES)){
//
// Debug
//
echo "URL du Fichier : http://www.crazytchat.com/upload/up/$pseudo/<br><br>";
//
// Récupération normale des informations
//
$nb_of_files = count($_FILES['attached_files']['tmp_name']);
echo '<ul>';
for($i = 0; $i< $nb_of_files; ++$i){
if(is_uploaded_file($_FILES['attached_files']['tmp_name'][$i])){
$name = $_FILES['attached_files']['name'][$i];
$tmp_name = $_FILES['attached_files']['tmp_name'][$i];
$error = $_FILES['attached_files']['error'][$i];
$clean_name = strtolower(basename($name));
$clean_name = preg_replace('/[^a-z0-9.-]/', '-', $clean_name);
//
// Type mime du fichier
//
if(function_exists('mime_content_type')){
// Notre système nous permet de déterminer le type réel
$type = mime_content_type($tmp_name);
}
else{
// Nous sommes contraints à faire confiance à l'internaute
$type = $_FILES['attached_files']['type'][$i];
}
//
// Déplacement hors du répertoire temporaire
//
if(!move_uploaded_file($tmp_name, UPLOAD_DIRECTORY.$clean_name)){
$error_string = "Le fichier <b>n'a pas</b> été déplacé correctement";
}
else{
$error_string = 'Le fichier a été déplacé correctement';
}
//
// Debug
//
echo '<li>';
echo '<b>Fichier '.$i.'</b> :';
echo '<pre>';
print_r(array(
'name' => $name,
'type' => $type,
'error' => $error,
'size' => filesize($tmp_name),
'tmp_name' => $tmp_name,
'clean_name' => $clean_name,
'error_string' => $error_string
));
echo '</pre>';
echo '</li>';
}
}
echo '</ul>';
}
?>
<form method="post" action="<?php echo basename(__FILE__); ?>" enctype="multipart/form-data">
Votre pseudo<input name="pseudo" type="text" value="<?php echo $pseudo; ?>" /><br />
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo MAX_FILE_SIZE; ?>" />
<label>Fichier joint : <input type="file" name="attached_files[]" /></label><br />
<label>Fichier joint : <input type="file" name="attached_files[]" /></label><br />
<label>Fichier joint : <input type="file" name="attached_files[]" /></label><br /><br />
<input type="submit" value="Envoyer" />
<input type="reset" value="Rétablir" />
</form> |
Partager