<form action="" method="POST" enctype="multipart/form-data">
Video file directory path: <input type="file" name="video"><br/>
<input type="submit" name="Upload" value="Upload">
</form>
<?php
//This function reads the extension of the file to ensure that it is an video file
function getExtension($str) {
$i = strrpos($str,".");
if (!$i)
return "";
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
//This variable handles an error and won't upload the file if there is a problem with it
$errors=0;
//checks if the form has been submitted
if(isset($_POST['Upload']))
{
//récuperer le nom du fichier
$file = $_FILES['video']['name'];
print_r($_FILES);
//si c'est pas vide
if ($file)
{
$video_filename = stripslashes($file); // maVideo.avi
$video_extension = getExtension($video_filename); // Avi
//vérification de l'extension
$extension_valide = array('mpeg','avi','jpg','mp4','mov');
if (!in_array(strtolower($video_extension), $extension_valide)) // faux
{
echo '<h1>Unknown extension!</h1>';
$errors=1;
}
else // bon
{
//récupérer la size de la video
$video_size= filesize($_FILES['video']['tmp_name']);
//compare the size with the maxim size we defined and print error if bigger
if ($video_size > 110000000)
{
echo '<h1>You have exceeded the size limit!</h1>';
$errors=1;
}
//give the video a unique name in case a video already exists with the name on the server
$video_name =time().'.'.$video_extension;
//assign a folder to save the video to on your server
$newname="videos/".$video_name;
//verify that the video has been loaded
if ($errors == 0){
if (move_uploaded_file($_FILES['video']['tmp_name'], $newname) == 1)
echo "<h1>File Uploaded Successfully! Try again!</h1>";
else
echo "erreur lors de téléchargement";
}
}
}
}else
echo 'noooooooooooooooo';
poursalut,
ajoute un var_dump($_POST); avec le message histoire de voir un peu mieux la chose.
echo var_dump($_POST);
ça donne j'ai bien mis dans php.ini upload_max_filesize = 110M et dans mon code j'ai mis la taille max à 110000000 = 110MoAttention en général vidéo égale gros fichier = tu dépasse la taille max fichier (à vérifier sur un phpinfo())
@+
mais si quand je valide le formulaire avec une vidéo que le var_dump($_POST) = array emptypas besoin de echo avec var_dump (cf la doc).
ton tableau $_POST est vide, donc, a priori il n'y a pas de soumission du formulaire.
Ce qui est forcément vrai au premier affichage du formulaire vu que tu n'a pas cliqué sur le bouton submit.
par contre lorsque tu tu clique dessus ça doit aller.
quel champs caché ? je n'ai utilisé aucun hiddenpour ce qui est du du champs caché indiquant la taille max, c'est du flan vu que c'est coté client tu ne peux pas en tenir compte.
et de toute façon si le fichier dépasse les limites de php tu ne pourra pas l'utiliser.
Oui c'est vraipour if ($file), c'est inutile tu déclare la variable au dessus et abuse du transtypage.
tu devrais plutot tester que $_FILES['video']['error'] existe et est égale à zéro (ou à la constante UPLOAD_ERR_OK).
@+
je suis pas en dédié malheureusement ..pour ce qui est du travail sur la vidéo tu peux te tourner vers http://ffmpeg-php.sourceforge.net/. (seulement si tu a un dédié, il y a peux de chance que cela soit rependus sur du mutualisé).
@+
Comme déjà dit, pour modifier ces valeurs, Il faut pouvoir modifier la configuration du serveur (et cela n'a rien à voir avec le code de l'upload lui-même).
Cela se fait soit avec ini_set, soit par l'intermédiaire un fichier .htaccess, soit dans le php.ini, mais il est très peu probable que ce soit possible sur un serveur mutualisé. Demande à ton hébergeur la marche à suivre.