Hop là me revoilà avec un script php qui marche (apparemment):
<form enctype="multipart/form-data" action="fileupload.php" method="post">
Transfère le fichier <input type="file" name="monfichier" />
<input type="submit"/>
</form>
<?php
if(isset($_FILES['monfichier']) and $_FILES['monfichier']['error'] == 0)
{
$nomOrigine = $_FILES['monfichier']['name'];
$elementsChemin = pathinfo($nomOrigine);
$extensionFichier = $elementsChemin['extension'];
}
$extensionsAutorisees = array("flac", "txt","mp3", "mp4", "avi", "png", "jpg", "jpeg") ;
if(isset($extensionFichier))
{
if(!(in_array($extensionFichier, $extensionsAutorisees)))
{
echo "<br/>Le fichier n'a pas l'extension attendue";
}
else
{
$repertoireDestination = "FileUpload/";
rename($_FILES['monfichier']['tmp_name'],$_FILES['monfichier']['name']);
move_uploaded_file($_FILES['monfichier']['name'],$repertoireDestination);
echo "<br/>".$_FILES['monfichier']['name'];
}
}
?>
J'ai pu uploadé un .avi de 175mo et un .mp4 de 60mo.
Toutefois firefox a planté pas mal de fois, que ce soit en upload réussi ou non. J'aimerais savoir si ça vient du code.
Mes param:
post_max_size = 200M
upload_max_filesize = 200M
memory_limit = 1280M (là je me demande si c'est réaliste sur 1 mutu)
max_execution_time = 600 (pareil)
max_input_time = 600 (pareil)
J'aimerais bien un coup de main pour qu'on améliore un peu le script et qu'on trouve les bonnes valeurs pour le php.ini. Et qu'on voit pour les erreurs (du script et du navigateur qui plante).
Pour la progressbar, j'ai entendu dire qu'avec ajax, on pouvait récupérer la taille de la partie du fichier déjà uploadée. Avec cette valeur on pourrait faire 1 calcul pour savoir si ca fait 10% du fichier et à chaque 10% on affiche 1 image qui représentera 10% du fichier, 20, 30 etc...
Qu'en penses-tu? Est-ce possible?
Merci pour ton aide
