Page 1 sur 1

Problème pour uploader videos

Posté : 17 juin 2009, 17:24
par Romuald632
Bonjour,
Pb pour uploader mes vidéos .
Message : Le fichier est introuvable
Voici mon formulaire de sasie :
<form method="post" enctype="multipart/form-data" action="upload_video.php"> 
 Choisissez un Pays :
<select name="pays">
          <option value="1"> Afghanistan</option>
          <option value="2"> Afrique du Sud</option>
          <option value="3"> Albanie</option>
          <option value="4"> Algérie</option> 
        </select>
Fichier à transf&eacute;rer :
<input type="file" name="fichier" size="30">
 Donnez un titre &agrave; votre vid&eacute;o <input type="text" name="titre_video" size="40" value="" maxlength="70">
 Choisissez un Crit&egrave;re :
      <select name="critere">
        <option value="1">Ville</option>
        <option value="2">Mer</option>
        <option value="3">Montagne</option>
        <option value="4">Nature</option>
        <option value="5">Monuments</option>
        <option value="6">Panoramique</option>
        <option value="7">Aéroport - Héliport</option>
        <option value="8">Animaux</option>
        <option value="9">Sport</option>
        <option value="15">Parcs</option>
      </select>
R&eacute;alisateur de la vid&eacute;o :<input type="text" name="realisateur" size="40" value="" maxlength="70">
Site web <input type="text" name="web" size="40" value="" maxlength="100">
E-mail : <input type="text" name="mail" size="40" value="" maxlength="100">
<input type="submit" name="upload" value="Téléchargez votre vidéo">
</form>
Et voici mon formulaire de récupération ds infos :
<?php
if(isset($_POST['pays']))      $id_pays=$_POST['pays'];
else      $id_pays="";

if(isset($_POST['critere']))      $id_critere=$_POST['critere'];
else      $id_critere="";

if(isset($_POST['titre_video']))      $titre_video=$_POST['titre_video'];
else      $titre_video="";

if(isset($_POST['realisateur']))      $realisateur=$_POST['realisateur'];
else      $realisateur="";

if(isset($_POST['web']))      $web=$_POST['web'];
else      $web="";

if(isset($_POST['mail']))      $mail=$_POST['mail'];
else      $mail="";

$date  = date("ymd");
$heure = date("His");

$nom= $date."-".$heure;
echo "Référence de votre vidéo : $nom";

if( isset($_POST['upload']) )
{
    $content_dir = '../upload_video/';

    $tmp_file = $_FILES['fichier']['tmp_name'];

    if( !is_uploaded_file($tmp_file) )
    {
        exit("Le fichier est introuvable");
    }

    $type_file = $_FILES['fichier']['type'];

    if( !strstr($type_file, 'mov') && !strstr($type_file, 'flv') && !strstr($type_file, 'avi') )
    {
        exit("Le fichier n'est pas une vidéo");
    }

    $name_file = $_FILES['fichier']['name'];

    if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
    {
        exit("Impossible de copier le fichier dans $content_dir");
    }

    echo "Le fichier a bien été enregistré";
}

$db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error()); 
mysql_select_db('bdd',$db)  or die('Erreur de selection '.mysql_error());
  
$sql = "INSERT INTO video (id_video,id_pays,id_critere,video,titre_video,realisateur,web,mail) VALUES ('".mysql_real_escape_string('')."','".mysql_real_escape_string($id_pays)."','".mysql_real_escape_string($id_critere)."','".mysql_real_escape_string($video)."','".mysql_real_escape_string($titre_video)."','".mysql_real_escape_string($realisateur)."','".mysql_real_escape_string($web)."','".mysql_real_escape_string($mail)."')";
      
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 

mysql_close();

?>

Posté : 17 juin 2009, 22:07
par Nagol
page html

Code : Tout sélectionner

<input type="file" name="fichier" size="30">
fichier php

Code : Tout sélectionner

$tmp_file = $_FILES['fichier']['tmp_name'];
Tu ne va pas chercher le bon fichier, donc c'est pas tellement étonnant qu'il ne le trouve pas :)

Posté : 18 juin 2009, 09:03
par Romuald632
Je comprends pas pourquoi tu dis que je ne vais pas chercher le bon fichier.
Je le nomme "fichier".

Posté : 18 juin 2009, 09:34
par Nagol
ah, oui tout à fait, j'ai bourdé :)

bon alors je suppose que tu as une erreur quelquepart peut etre le fichier est trop volumineux ou un truc du genre

tu es en error_reporting(E_ALL) ?

Posté : 18 juin 2009, 09:48
par Romuald632
Bon j'ai supprimé une partie du code, notamment celle qui met que le fichier est introuvable !
Maintenant je me retrouve avec : "L'extension de votre fichier n'est pas acceptée !"
J'ai essayé de mettre des points avant, bref ça change rien !
if( isset($_POST['upload']) ) // si formulaire soumis
{
    $content_dir = '../upload/'; // dossier où sera déplacé le fichier

    $tmp_file = $_FILES['fichier']['tmp_name'];

// on vérifie maintenant l'extension
    $type_file = $_FILES['fichier']['type'];

    if( !strstr($type_file, 'flv') && !strstr($type_file, 'mov') && !strstr($type_file, 'avi') )
    {
        exit("L'extension de votre fichier n'est pas acceptée !");
    }
	
	$nom .= ".".pathinfo($_FILES['fichier']['name'], PATHINFO_EXTENSION);

    // on copie le fichier dans le dossier de destination
    $name_file = $_FILES['fichier']['name'];

    if( !move_uploaded_file($tmp_file, $content_dir . $nom) )
    {
    exit("Impossible de copier le fichier dans $content_dir");
    }

Posté : 18 juin 2009, 09:49
par Nagol
ah, oui tout à fait, j'ai bourdé :)

bon alors je suppose que tu as une erreur quelquepart peut etre le fichier est trop volumineux ou un truc du genre

tu es en error_reporting(E_ALL) ?
?

Posté : 18 juin 2009, 10:03
par Romuald632
Je n'utilise pas, pcq je connais pas, le : error_reporting(E_ALL)

Posté : 18 juin 2009, 12:01
par Nagol
Je n'utilise pas, pcq je connais pas, le : error_reporting(E_ALL)
oui et bien serait temps de commencer, tu le coles en haut de ton fichier principal, et tu regardes les erreurs et tu les coriges, je te parie qu'une fois que tu as tout corrigé, tout marche

Posté : 19 juin 2009, 17:26
par Romuald632
Je l'ai mis là, mais j'ai rien de nouveau...
<?php

error_reporting(E_ALL);

if(isset($_POST['pays']))      $id_pays=$_POST['pays'];
else      $id_pays="";
J'ai rajouté un
print_r($_FILES['fichier']);
Et voilà le résultat :
Array ( [name] => casinochatelguyon01.flv [type] => [tmp_name] => [error] => 1 [size] => 0 ) L'extension de votre fichier n'est pas acceptée !

Posté : 20 juin 2009, 15:01
par Nagol
error 1 et le tmp_name n'est pas setté, je sais plus ce que ca veut dire mais clairement c'est la raison de ton probleme php.net devrait te dire ce qui va pas maintenant qu'on a pointé le doigt dessus clairement.

Posté : 20 juin 2009, 15:50
par Romuald632
Salut,
What is it php.net ?

Posté : 20 juin 2009, 16:11
par micetf
What is it php.net ?
C'est le site référence PHP.
Au sujet des erreurs de chargement de fichiers, tu vas trouver ça :
http://fr.php.net/manual/fr/features.fi ... errors.php

Fred

Posté : 20 juin 2009, 16:17
par Romuald632
Merci je vais regarder ça

Posté : 22 juin 2009, 21:53
par Nagol
so?

Posté : 23 juin 2009, 08:36
par Romuald632
Bonjour,
J'ai pas trouvé de solution ou même d'explication à mon problème sur php.net
Merci de votre aide