PRoblème Upload
Posté : 08 févr. 2011, 20:23
Bonsoir,
J'aimerai savoir ce que j'ai oublier dans mon code, il est pas au complet, mais bon je suis a mon énième listing, j'adore simplifié les choses
.
Normalement, j'ai une logique à tout épreuve, mais ya un truc qui m'échappe.
J'ai initialisé mes valeurs de mon php.ini et je n'y toucherait plus car j'estime que ça devrait aller pour mon projet :
php_value post_max_size 8M // valeur par défaut.( On va faire comme si je ne pouvais pas la modifier )
php_value upload_max_filesize 2M // taille maximum d'un fichier à uploader.
Le HTML en rapport :
Fonction qui rend plus lisible le tableau $_files d'origine.
Je le récupère ici :
Un ça va, mais 2....
Merci
J'aimerai savoir ce que j'ai oublier dans mon code, il est pas au complet, mais bon je suis a mon énième listing, j'adore simplifié les choses
Normalement, j'ai une logique à tout épreuve, mais ya un truc qui m'échappe.
J'ai initialisé mes valeurs de mon php.ini et je n'y toucherait plus car j'estime que ça devrait aller pour mon projet :
php_value post_max_size 8M // valeur par défaut.( On va faire comme si je ne pouvais pas la modifier )
php_value upload_max_filesize 2M // taille maximum d'un fichier à uploader.
Le HTML en rapport :
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data" name="myform">
<input type="file" name="fichier[]"/><br>
<input type="file" name="fichier[]"/>
<input type="hidden" name="MAX_FILE_SIZE[]" value="2000000"/>
<input type="submit" name="submit" value="ok"/>
<input type="reset" name="reset" value="zero"/>
</form>
Juste que je suis pas certaine de MAX_FILE_SIZE[] , mais elle est nécessaire car le PHP l'utilise dans sa vérification:case 2: //uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the html form
$reponse='Le fichier que vous essayez de télécharger est trop gros.';
//fonction réorganisation du Array
function reArrayFiles(&$file_post) {
$file_ary = array();
$file_count = count($file_post['name']);
$file_keys = array_keys($file_post);
for ($i=0; $i<$file_count; $i++) {
foreach ($file_keys as $key) {
$file_ary[$i][$key] = $file_post[$key][$i];
}
}
return $file_ary;
}
Fonction qui rend plus lisible le tableau $_files d'origine.
Je le récupère ici :
$files=reArrayFiles($_FILES['fichier']);
$user['n1']=$files;
$user['n2']=$files;
ça c'est juste quand je rajouterai des utilisateurs avec les sessions pas implémentées pour l'instant.for($i=0;$i<count($files);$i++){
if( is_uploaded_file($files[$i]['error']) )
{
$reponse=' Envoye module de copie Fichier ';
}
else{
$erreur=$files[$i]['error'];
switch("$erreur"){
case 0: //no error; possible file attack!
$reponse='Il y a un problème avec le téléchargement !';
break;
case 1: //uploaded file exceeds the upload_max_filesize directive in php.ini
$reponse='Le fichier est trop gros pour le php !';
break;
case 2: //uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the html form
$reponse='Le fichier est plus gros que la taille spécifiée dans le HTML !';
break;
case 3: //uploaded file was only partially uploaded
$reponse='Le fichier est partiellement téléchargé !';
break;
case 4: //no file was uploaded
$reponse='Vous devez sélectionner un fichier à télécharger !';
break;
default: //a default error, just in case! :)
$reponse='Il y a un problème avec le téléchargement !.';
break;
}
}
echo $reponse.'<br>';
}
Essais ici : http://blogme.homeip.net/Projets%20pers ... load/e.phpUn ça va, mais 2....
Merci