begin process at 2012 05 31 07:24:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

probleme pour l'upload de video


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme pour l'upload de video

samedi 13 décembre 2008 à 21:29:43 | probleme pour l'upload de video

mickael56100

bonjour tout le monde je poste un message sur le forum car je rencontre un problème pour uploader des vidéos.
Je ne sais pas si c'est un problème d'accolade, en fait lorsque j'essaye d'uploder une vidéo au format .avi, cela recharge la même page mais rien n'est uploader, et il n'y a pas d'insertion ds la base de données.
Pouvez vous m'aidez?



Voici le code de la page index.php?genre=uploadvideo




<?php
//Upload des photos pour la galerie personnelle
$perso=isset($_REQUEST['perso']) ? $_REQUEST['perso'] : null;
//Si c'est le formulaire de photo de galerie perso
if($perso == 'ok'){
    //10 vidéos persos dans la galerie maximum
    $l=$_SESSION['valid'];
       $requ="SELECT COUNT(*) as nbvideogal from video where pseudo='$l'";
       $resu=mysql_query($requ,$cnx);
       $nbvideogal=mysql_fetch_assoc($resu);
  if($nbvideogal['nbvideogal']<10){    
    $poids_max = 1024000000; // Poids max du fichier en octets (1Ko = 1024 octets) (ici 1000mo max)
    $repertoire = 'videos/'; // Repertoire d'upload
    if (isset($_FILES['fichier']))
   {
    
      // On vérifie le poids de la video (max 1000mo)
   if ($_FILES['fichier']['size'] > $poids_max)
   {
   $erreur = '<h5>Le poid de la vidéo doit être inf&eacute;rieur à ' . $poids_max/1024000 . 'Mo.</h5>';
   }
   
   if ($nbvideogal['nbvideogal']==10){
   //pas plus de 10 videos pour ce login
   echo '<h5>Pas plus de 10 vidéos par utilisateur.</h5>';
   } 
   
   
   
   // On vérifie si le répertoire d'upload existe
   elseif (!file_exists($repertoire))
   {
   $erreur = 'Erreur, le dossier d\'upload n\'existe pas.';
   }
   // Si il y a une erreur on l'affiche sinon on peut uploader
   if(isset($erreur))
   {
   echo $erreur;
   }
   else
   {        
   // On définit l'extention du fichier puis on le nomme par le pseudo+time actuel
   $extention = '.avi';
   $nom_fichier = $l.time().$extention;
   // On upload le fichier sur le serveur.
   if (move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier))
   {
   //SI TRAITEMENT A FAIRE SUR LA VIDEO UPLOADE LE FAIRE ICI (ex compression ou copie etc)
   //On insere dans la base l'objet html avec la bonne valeur
   //on creer la chaine à inserer avec l'objet video et la value avec le chemin de la video uploadee
   $object="<div style='text-align:center'><object>
   <PARAM NAME='FileName' VALUE='".$repertoire.$nom_fichier."'>
   <PARAM NAME='ShowControls' VALUE='0'>
   <PARAM NAME='ShowStatusBar' VALUE='0'>
   <PARAM NAME='ShowDisplay' VALUE='0'>
   <PARAM NAME='DefaultFrame' VALUE='Slide'>
   <PARAM NAME='Autostart' VALUE='1'>
   <PARAM NAME='Volume' value='0'>
   <PARAM NAME='loop' value='-1'>
   <embed src='".$repertoire.$nom_fichier."' width='400' height='300' Autostart='1' loop='-1' ShowControls='0' ShowDisplay='0' ShowStatusBar='0' >
   </embed></object></div>";
 				
   //on insere dans la table VIDEO qui a comme attribut pseudo et video
   $req2="INSERT INTO VIDEO(pseudo,video) VALUES('$l','$object')";
   $res2=mysql_query($req2,$cnx);
   //on indique que la video a bien été uploadee
   echo '<h6>Votre vidéo a bien &eacute;t&eacute; ajout&eacute;e.</h6>';
   }
  //sinon erreur dans l'upload on le specifie aussi
  else
   {
   echo '<h5>La vidéo n\'a pas pu &egrave;tre upload&eacute;e.</h5>';
   }
   }
   }
   
}
}
 				
?>
<form method="POST" action="index.php?genre=uploadvideo&perso=ok" enctype="multipart/form-data">   
<input type="file" name="fichier">
<input type="submit" value="Envoyer">
</form>

dimanche 14 décembre 2008 à 01:46:41 | Re : probleme pour l'upload de video

kohntark

Membre Club
Salut,

A vu de nez ça devrait fonctionner, même si il y a pas mal de choses qui ne vont pas.

Par contre tite question : c'est bien un serveur perso ou dédié que tu as ?
Parce que si ce n'est pas le cas je doute que tu puisses uploader des fichiers de 1Go de cette manière (ni même un de 50Mo)
En plus ce n'est vraiment pas la méthode appropriée pour transférer des fichiers de cette taille.

Regarde dans ton php.ini la valeur de "upload_max_filesize".

Cordialement,

Kohntark -

dimanche 14 décembre 2008 à 11:56:58 | Re : probleme pour l'upload de video

mickael56100

J'utilise un serveur perso :s, en ft je pense pas qu'un serveur dédié serait la solution la mieux adapté à mes besoins puisque cet upload permettrait a un artiste d'uploader sur le serveur des vidéos mais cela ne servirait que pour 5/6vidéos.
sinon j'ai un peu modifié le code depuis hier soir voila le nouveau :



<?php
ini_set('memory_limit', 1024000000); // en octets
set_time_limit(1200); // en secondes

//Upload desvidéos pour la galerie personnelle

$perso=isset($_REQUEST['perso']) ? $_REQUEST['perso'] : null;
$ext_admise = array ("avi");

//obtention de l'extension
function getextension($fichier) {
$bouts = explode(".", $fichier);
$extension = array_pop($bouts);
$extension = strtoupper ($extension);
return $extension;
}
//getextension ()


//Si c'est le formulaire de vidéos de galerie perso
if($perso == 'ok'){
//10 vidéos persos dans la galerie maximum
$l=$_SESSION['valid'];
$requ="SELECT COUNT(*) as nbvideogal from video where pseudo='$l'";
$resu=mysql_query($requ,$cnx);
$nbvideogal=mysql_fetch_assoc($resu);
  if($nbvideogal['nbvideogal']<10){   
  $poids_max = 1024000000; // Poids max du fichier en octets (1Ko = 1024 octets) (ici 1000mo max)
  $repertoire = 'videos/'; // Repertoire d'upload
    if (isset($_FILES['fichier'])){
      // On vérifie le poids de la video (max 1000mo)
      if ($_FILES['fichier']['size'] > $poids_max){
        $erreur = '<h5>Le poid de la vidéo doit être inf&eacute;rieur à ' . $poids_max/1024000 . 'Mo.</h5>';
      }
        // On vérifie si le répertoire d'upload existe
        if (!file_exists($repertoire)){
        $erreur = 'Erreur, le dossier d\'upload n\'existe pas.';
        }
        getextension($fichier);
            if (!in_array ($extension, $ext_admise)){
            $erreur = 'Attention, le fichier que vous venez de sélectionner n\'est pas une vidéo au format valide.';
            }
              //if (!$result){
              //$res_write = fwrite ($logerrorpt, "erreur lors de l'upload : ");
              //switch ($erreur){
              //case 1: // UPLOAD_ERR_INI_SIZE
              //$res_write = fwrite ($logerrorpt, "UPLOAD_ERR_INI_SIZE\r\n");
              //echo "Attention le fichier dépasse la taille autorisée par le serveur<br>";
              //break;
              //case 2: //UPLOAD_ERR_FORM_SIZE
              //$res_write = fwrite ($logerrorpt, "UPLOAD_ERR_FORM_SIZE\r\n");
              //echo "Attention le fichier dépasse la taille autorisée par le formulaire<br>";
              //break;
              //case 3: //UPLOAD_ERR_PARTIAL
              //$res_write = fwrite ($logerrorpt, "UPLOAD_ERR_PARTIAL\r\n");
              //echo "Attention, l'upload du fichier a été interrompu<br>";
              //break;
              //case 4: // UPLOAD_ERR_NO_FILE
              //$res_write = fwrite ($logerrorpt, "UPLOAD_ERR_NO_FILE\r\n");
              //echo "Attention, le fichier envoyé à une taille nulle<br>";
              //break;
              //}
                // Si il y a une erreur on l'affiche sinon on peut uploader

                if(isset($erreur)){
                echo $erreur;
                }
                    else{       
                    // On définit l'extention du fichier puis on le nomme par le pseudo+time actuel
                    $extention = '.avi';
                    $nom_fichier = $l.time().$extention;
                    // On upload le fichier sur le serveur.
                        if (move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier)){
                        //SI TRAITEMENT A FAIRE SUR LA VIDEO UPLOADE LE FAIRE ICI (ex compression ou copie etc)
                        //On insere dans la base l'objet html avec la bonne valeur
                        //on creer la chaine à inserer avec l'objet video et la value avec le chemin de la video uploadee

                        $object="<div style='text-align:center'><object>
                        <PARAM NAME='FileName' VALUE='".$repertoire.$nom_fichier."'>
                        <PARAM NAME='ShowControls' VALUE='0'>
                        <PARAM NAME='ShowStatusBar' VALUE='0'>
                        <PARAM NAME='ShowDisplay' VALUE='0'>
                        <PARAM NAME='DefaultFrame' VALUE='Slide'>
                        <PARAM NAME='Autostart' VALUE='1'>
                        <PARAM NAME='Volume' value='0'>
                        <PARAM NAME='loop' value='-1'>
                        <embed src='".$repertoire.$nom_fichier."' width='400' height='300' Autostart='1' loop='-1' ShowControls='0' ShowDisplay='0' ShowStatusBar='0' >
                        </embed></object></div>";
                        //on insere dans la table VIDEO qui a comme attribut pseudo et video
                        $req2="INSERT INTO VIDEO(pseudo,video) VALUES('$l','$object')";
                        $res2=mysql_query($req2,$cnx);
                        //on indique que la video a bien été uploadee
                        echo '<h6>Votre vidéo a bien &eacute;t&eacute; ajout&eacute;e.</h6>';
                        }
                            //sinon erreur dans l'upload on le specifie aussi
                            else{
                            echo '<h5>La vidéo n\'a pas pu &ecirc;tre upload&eacute;e.</h5>';
                            }
                    }
        }
  
}
}
?>
<h3 class='titre'>Ajoute des vidéos personnelles</h3>
<form method="POST" action="index.php?genre=uploadvideo&perso=ok" enctype="multipart/form-data">  
<input type="file" name="fichier">
<input type="submit" value="Envoyer">
</form>


dimanche 14 décembre 2008 à 12:26:25 | Re : probleme pour l'upload de video

kohntark

Membre Club


ini_set('memory_limit', 1024000000); // en octets
=> file moi l'adresse de ton serveur que je le fasse planter

set_time_limit(1200); // en secondes
=> 1Go en 20 minutes ... c'est mal barré si tu as une connexion traditionnelle. Imagine 2,3 upload + 1 visualisation en même temps.

Tu ne dis pas si cela fonctionne désormais, mais j'ai déjà la réponse => NON
As tu regardé la valeur de upload_max_filesize dans le php.ini comme je l'indiquai ?
Hormis les nombreuses erreurs qu'il y a dans ton script la méthode que tu emploies ne fonctionnera jamais :
1Go sur le web => même pas la peine d'y penser dans ta configuration et avec ta méthode. Pense au streaming, à la   
compression des videos envoyées, au FTP.

Bon courage,

Kohntark -

dimanche 14 décembre 2008 à 13:02:48 | Re : probleme pour l'upload de video

mickael56100

max_execution_time = 30     ; Maximum execution time of each script, in seconds
max_input_time = 60    ; Maximum amount of time each script may spend parsing request data
memory_limit = 16M      ; Maximum amount of memory a script may consume (16MB)

Quels sont les nombreuses erreurs de mon script?
dimanche 14 décembre 2008 à 13:58:01 | Re : probleme pour l'upload de video

kohntark

Membre Club

Je ne veux pas y mettre de la mauvaise fois mais il y en a des dizaines !!!
Par exemple :
$ext_admise = array ("avi");
=> un array pour définir un seul élément ?? => $ext_admise = 'avi';


$extention = '.avi';
$nom_fichier = $l.time().$extention;
=> $nom_fichier = $l.time().'.'.$ext_admise; //inutile de redéfinir une variable alors qu'elle l'est déjà


$req2="INSERT INTO VIDEO(pseudo,video) VALUES('$l','$object')";
=> et si $_SESSION['valid'] n'est pas définie, ça donne quoi ?
=> pourquoi stocker du code HTML dans la base de données ? l'alourdir ? poser des problèmes avec les caractères spéciaux ?


// On vérifie si le répertoire d'upload existe
        if (!file_exists($repertoire)){
        $erreur = 'Erreur, le dossier d\'upload n\'existe pas.';
        }

=> là aussi ça ne sert à rien, le répertoire existe, c'est toi qui l'a créé une fois pour toute, inutile de faire la vérif

etc ... etc ...

Dis moi, la valeur de upload_max_filesize est classée top secret chez toi ou ai je omis de te la demander déjà deux fois ?

Cordialement,


Kohntark -

dimanche 14 décembre 2008 à 14:08:16 | Re : probleme pour l'upload de video

mickael56100

upload_max_filesize = 2M
dimanche 14 décembre 2008 à 14:22:23 | Re : probleme pour l'upload de video

kohntark

Membre Club
Donc ça ne marchera jamais, il faudrait passer cette valeur à 1Go, mais, comme je te l'ai dit plusieurs fois, ton projet ne fonctionnera jamais correctement de cette manière. Non seulement tu vas finir par planter ton serveur, mais en plus les navigateurs qui vont accéder à ta page.

ini_set('memory_limit', 1024000000); => tu affectes 1Go de RAM rien que pour PHP, c'est énorme, même dans le cas incertain où tu aurais 20Go de RAM

set_time_limit(1200);
// en secondes
=> je répète, ça n'est pas suffisant pour transférer des fichiers de 1Go

upload_max_filesize = 2M => cela signifie que la taille maximale des fichiers uploadés est de 2Mo, toi tu souhaites uploader des fichiers de 1Go => pb

Repense ton projet pour qu'il soit viable sur le net. Dans le cas contraire je ne peux plus rien faire pour toi.


Kohntark -

dimanche 14 décembre 2008 à 14:31:50 | Re : probleme pour l'upload de video

mickael56100

ok merci de ton aide, désolé je code depuis peu en php, il me manque de nombreuses notions


Cette discussion est classée dans : fichier, erreur, upload, video, if


Répondre à ce message

Sujets en rapport avec ce message

Message d'erreur sur l'upload d'un fichier [ par WaNoU ThE EpSyLoN ] Bonjours tout le monde voilà je suis chez free comme hébergeur ( juste un précision on sait jamais) et j'essaie en ce moment de faire de l'upload de f upload erreur fct type fichier [ par zebiker ] Bonjour,j'ai un probleme avec upload de fichier via formulaire POST avec php, j'ai repri EXACTEMENT l'exemple de php.net, mais une erreur persiste :l' bouton qui fait 2 actions [ par vinz78 ] Salut alors voici mon code // Constantesdefine('TARGET', 'E://wamp/www/Projet/Projet2/');     // Repertoire cibledefine('MAX_SIZE', 512000);     // Ta probleme avec move_uploaded_file et UTF8 [ par DJTIME ] Voici un bout de code pris du net que j'ai utilisé pour l'upload de fichier sur mon site (qui n'est pas encore en ligne vu qu'il marche po!)Bref!! ca probleme avec l'upload de video [ par dipin ] bien le bonjour !voila j'ai un code d'upload  qui marche bien pour les images mais je n'arrive pas a uploader des videos, est ce que quelqu'un peut m' Erreur upload : erreur 404. Fichier trop grand? [ par roro59650 ] Bonjour à toutes et à tous!! Voilà mon problème du jour : je fais un formulaire pour uploader un fichier sur le serveur. Puis, pour l'instant, histo Idée pour stocker fichier uploader dans mysql et récuperation URL [ par MaitreLgTbD ] Bonjour,je sollicite votre aide dans l'espoir d'avoir une réponse rapidement mon dernier post étant surement trop complexe je n'ai eu aucune réponse j Fusionner 2 images [ par yassin3 ] Bonjour à tous, bon voila j'aimerai faire un script pour fusionner 2 images une que je vais uploader directement depuis mon site avec une image source Probleme avec un formulaire d'upload [ par prog2ni ] Bonjour, Je suis debutant en php. Je vous explique mon probleme : J'ai en place un script d'upload d'image, il fonctionne, associer a ce script, j'in upload un fichier .txt [ par meusanland ] bonsoir à tous depuis quelques année je développe différent site web via AS2 et AS3 cependant un client vient de me commander un site en HTML et en C


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales