PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 18-06-2013 20:57:00

PhacheP
Membre
Inscription : 16-04-2013
Messages : 17

[RESOLU] probleme d'upload

bonjour,
j'ai créé un formulaire qui permet l'upload de fichier, tel que des images, du son ou des videos.
Voici comment ce présente le formulaire

formulaire

L'upload des images ce fait bien ainsi que leur inscription dans la BDD.
Par contre pour les sons et les videos ça plante. Pas d'upload, ni d'inscription dans la BDD

je vous montre, mes tables:

table son table video

Voici le code:


<html>
<head>
<title>formulaire billet</title>
<link href="formulaire billet.css" rel="stylesheet" type="text/css"/>
</head>


<body>
<p><h1 id="titre">Ajouter un sujet</h1></p>

<form action="" method="post" enctype="multipart/form-data">
 <fieldset>
  <table id="tform">
   <tr>
       <td width="10%"><label>Sujet:</label></td>
       <td><input id="sujet" type="text" name="sujet"/></td>
   </tr>
   <tr>
       <td width="10%"><label>Message:</label></td>
       <td><textarea id="message" name="message"></textarea></td>
   </tr>
   <tr>
       <td width="10%"><label>Votre image:</label></td>
       <td><input type="file" name="image" value="parcourir"/><label for="format" class="format"> * votre fichier doit etre au format jpg, jpeg, gif, png pour etre uploadé</label></td>
   </tr>    
  <tr>
       <td width="10%"><label>Votre son:</label></td>
       <td><input type="file" name="son" value="parcourir"/><label for="format1" class="format"> * votre fichier doit etre au format mp3 pour etre uploadé</label></td>
   </tr>    
   <tr>
       <td width="10%"><label>Votre video:</label></td>
       <td><input type="file" name="video" value="parcourir"/><label for="format" class="format"> * votre fichier doit etre au format mp4 pour etre uploadé</label></td>
   </tr>    
  </table>
 </fieldset>

<input type="submit" value="Envoyer" name="valider"/>
</form>

<br/><br/><br/><br/>

<a href="monblog.php">Retourner à la page d'acceuil</a>

</body>
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}

catch (Exception $e)
{
die ('erreur: ' .$e->getMessage());  
}

   
/*-----------------------------------------------------------------------------------------------
                                   Enregistrement du billet dans la BDD
------------------------------------------------------------------------------------------------*/


$req = $bdd->prepare('INSERT INTO billet(titre, contenu, date_creation)
                      VALUES(:titre, :contenu, NOW())');
$req->execute(array(
                    'titre' => $_POST['sujet'],
                    'contenu' => $_POST['message']
                    ));      

$req->closeCursor();

/*------------------------------------------------------------------------------------------------
                                   Enregistrement de l'image dans la BDD
------------------------------------------------------------------------------------------------*/
$emp = 'images/';

$req = $bdd->prepare('INSERT INTO images(nom, sujet, taille, emplacement, date)
                      VALUES(:nom, :sujet, :taille, :emplacement, NOW())');


$req->execute(array(
                    'nom' => $_FILES['image']['name'],
                    'sujet' => $_POST['sujet'],                                            
                    'taille' => $_FILES['image']['size'],                  
                    'emplacement' => $emp
                    ));

$req->closeCursor();      

/*-----------------------------------------------------------------------------------------------
                                   Upload de l'image dans image/
------------------------------------------------------------------------------------------------*/

if (isset($_FILES['image']) AND $_FILES['image']['error'] == 0)
{            
 if ($_FILES['image']['size'] <= 10485760)
 {
  $infosfichier = pathinfo($_FILES['image']['name']);
  $extension_upload = $infosfichier['extension'];
  $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
  if (in_array($extension_upload, $extensions_autorisees))
  {
   move_uploaded_file($_FILES['image']['tmp_name'], $emp . basename($_FILES['image']['name']));                                                              
  }
 }
}
?>
 <pre>
    <?php
    print_r($_FILES['image']);
    ?>
 </pre>
 <?php

/*-----------------------------------------------------------------------------------------------
                                   Enregistrement du son dans la BDD
------------------------------------------------------------------------------------------------*/

$emps = 'sons/';


$req = $bdd->prepare('INSERT INTO son(s_nom, s_sujet, s_taille, s_emplacement, s_date)
                      VALUES(:s_nom, :s_sujet, :s_taille, :s_emplacement, NOW())');


$req->execute(array(
                    'nom' => $_FILES['son']['name'],
                    'sujet' => $_POST['sujet'],                                            
                    'taille' => $_FILES['son']['size'],                  
                    'emplacement' => $emps
ligne 130       ));

$req->closeCursor();      

/*-----------------------------------------------------------------------------------------------
                                   Upload du son dans sons/
------------------------------------------------------------------------------------------------*/

if (isset($_FILES['son']) AND $_FILES['son']['error'] == 0)
{            
 if ($_FILES['son']['size'] <= 104857600)
 {
  $infosfichier = pathinfo($_FILES['son']['name']);
  $extension_upload = $infosfichier['extension'];
  $extensions_autorisees = array('mp3');
  if (in_array($extension_upload, $extensions_autorisees))
  {
   move_uploaded_file($_FILES['son']['tmp_name'], $emp . basename($_FILES['son']['name']));                                                              
  }
 }
}

?>
 <pre>
    <?php
    print_r($_FILES['son']);
    ?>
 </pre>
 <?php

/*-----------------------------------------------------------------------------------------------
                                   Enregistrement de la video dans la BDD
------------------------------------------------------------------------------------------------*/

$empv = 'videos/';


$req = $bdd->prepare('INSERT INTO video(v_nom, v_sujet, v_taille, v_emplacement, v_date)
                      VALUES(:v_nom, :v_sujet, :v_taille, :v_emplacement, NOW())');


$req->execute(array(
                    'nom' => $_FILES['video']['name'],
                    'sujet' => $_POST['sujet'],                                            
                    'taille' => $_FILES['video']['size'],                  
                    'emplacement' => $empv
ligne 176      ));

$req->closeCursor();      
/*-----------------------------------------------------------------------------------------------
                                   Upload de la video dans videos/
------------------------------------------------------------------------------------------------*/

if (isset($_FILES['video']) AND $_FILES['video']['error'] == 0)
{            
 if ($_FILES['video']['size'] <= 1048576000)
 {
  $infosfichier = pathinfo($_FILES['video']['name']);
  $extension_upload = $infosfichier['extension'];
  $extensions_autorisees = array('mp4');
  if (in_array($extension_upload, $extensions_autorisees))
  {
ligne 192   move_uploaded_file($_FILES['video']['tmp_name'], $empv . basename($_FILES['video']['name']));                                                              
  }
 }
}

?>
 <pre>
    <?php
    print_r($_FILES['video']);
    ?>
 </pre>
 <?php


?>

</html>

Et pour finir, voici les messages d'erreurs que j'obtiens avec quelques print_r:

message d'erreur

Je précise, que je travail avec MAMP et que j'ai augmenté la taille max des téléchargement à 1000 mo

taille fichier

Bien voila, merci pour votre aide

Dernière modification par PhacheP (18-06-2013 21:42:19)

Hors ligne

#2 18-06-2013 21:41:00

PhacheP
Membre
Inscription : 16-04-2013
Messages : 17

Re : [RESOLU] probleme d'upload

C'est bon problème résolu. L'erreur était tellement énorme que j'ai honte de mon post. Bon fo dire que j'ai pas tres bien dormi la nuit dernière et que je suis crevé.
Une bonne nuit de sommeil s'impose.
@+

Hors ligne

Pied de page des forums