Problème avec envoi de fichiers php
aneantisseur
Messages postés
411
Statut
Membre
-
aneantisseur Messages postés 411 Statut Membre -
aneantisseur Messages postés 411 Statut Membre -
Bonjour, j'ai un petit problème avec un formulaire où l'utilisateur envoi des champs text mais aussi deux champs fichier. Donc j'ai codé normalement, mais apparement ca bug, puisque rien ne s'ajoute à ma BDD. Voici mon code :
Merci.
if(isset($_POST['ajout_video']))
{
$query_ajout_video_final = mysql_query("INSERT INTO videos VALUES('', '".$_SESSION['pseudo']."', '".$_POST['name_video']."', '".$_POST['descr_video']."', '', '". 0 ."', '', '".time()."')") or die(mysql_error());
if (isset($_FILES['img_video']) AND $_FILES['img_video']['error'] == 0)
{
$infosfichier = pathinfo($_FILES['img_video']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg');
if (in_array($extension_upload, $extensions_autorisees))
{
$nom = "videos/{$_POST[name_video]}.{$extension_upload}";
move_uploaded_file($_FILES['img_video']['tmp_name'],$nom);
mysql_query("UPDATE videos SET image='".$nom."' WHERE nom='".$_POST['name_video']."'");
echo 'L\'ajout de l\'image a bien été effectuée !';
}
else
{
echo '<p>Le format de l\'image n\'est pas bon. Veuillez le changer.</p>';
}
}
if (isset($_FILES['video']) AND $_FILES['video']['error'] == 0)
{
$infosfichier = pathinfo($_FILES['video']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('avi, wmv');
if (in_array($extension_upload, $extensions_autorisees))
{
$nom = "videos/{$_POST[name_video]}.{$extension_upload}";
move_uploaded_file($_FILES['video']['tmp_name'],$nom);
mysql_query("UPDATE videos SET chemin='".$nom."' WHERE nom='".$_POST['name_video']."'");
echo 'L\'ajout de la vidéo a bien été effectuée !';
}
else
{
echo '<p>Le format de la vidéo n\'est pas bon. Veuillez le changer.</p>';
}
}
}
Merci.
A voir également:
- Problème avec envoi de fichiers php
- Explorateur de fichiers - Guide
- Renommer des fichiers en masse - Guide
- Fichiers epub - Guide
- Gestionnaire de fichiers - Télécharger - Gestion de fichiers
- Wetransfer gratuit fichiers lourd - Guide
14 réponses
$nom = "videos/{$_POST[name_video]}.{$extension_upload}";
Cette ligne me parait bizarre mets plutot:
$nom = "videos/".$_POST[name_video].".".$extension_upload;
idem qq lignes plus bas
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Voilà le code de mon formulaire, car je viens de remarquer qu'en fait, la partie qui traite l'envoi des fichiers n'est pas du tout appelée :
Merci.
<div style="float: left"><form action="" method="post" enctype="multipart/form-data"> Nom : <input type="text" name="name_video" id="name_video" /> Description : <textarea name="descr_video" id="descr_video"></textarea> Image (50Ko, 200px*200px) : <input type="file" name="img_video" id="img_video" /> Vidéo : <input type="file" name="video" id="video" /> <input type="submit" name="ajout_video_episode" id="ajout_video_episode" /></form></div>
Merci.
<form action="" method="post" enctype="multipart/form-data">
il faut preciser par action="...." la page appelée, c a d le script qui traite l'upload
il faut preciser par action="...." la page appelée, c a d le script qui traite l'upload
donnes le code complet de ton formulaire, et le nom du script appelé, celui qui traite de l'enregistrement
if(isset($_POST['ajout_video_episode']))
{
echo'Page ajout';
$query_ajout_video_final = mysql_query("INSERT INTO videos VALUES('', '".$_SESSION['pseudo']."', '".$_POST['name_video']."', '".$_POST['descr_video']."', '', '". 0 ."', '', '".time()."')") or die(mysql_error());
if (isset($_FILES['img_video']) AND $_FILES['img_video']['error'] == 0)
{
$infosfichier = pathinfo($_FILES['img_video']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg');
if (in_array($extension_upload, $extensions_autorisees))
{
$nom = "videos/{$_POST[name_video]}.{$extension_upload}";
move_uploaded_file($_FILES['img_video']['tmp_name'],$nom);
mysql_query("UPDATE videos SET image='".$nom."' WHERE nom='".$_POST['name_video']."'");
echo 'L\'ajout de l\'image a bien été effectuée !';
}
else
{
echo '<p>Le format de l\'image n\'est pas bon. Veuillez le changer.</p>';
}
}
if (isset($_FILES['video']) AND $_FILES['video']['error'] == 0)
{
$infosfichier = pathinfo($_FILES['video']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('avi, wmv');
if (in_array($extension_upload, $extensions_autorisees))
{
$nom = "videos/{$_POST[name_video]}.{$extension_upload}";
move_uploaded_file($_FILES['video']['tmp_name'],$nom);
mysql_query("UPDATE videos SET chemin='".$nom."' WHERE nom='".$_POST['name_video']."'");
echo 'L\'ajout de la vidéo a bien été effectuée !';
}
else
{
echo '<p>Le format de la vidéo n\'est pas bon. Veuillez le changer.</p>';
}
}
}
else
{
echo'<div style="float: left"><form action="ajout_episode.php" method="post" enctype="multipart/form-data"><table><tr><td width="150px">
Nom : </td><td width="200px"><input type="text" name="name_video" id="name_video" /></td></tr>
<tr><td width="150px">Description : </td><td width="200px"><textarea name="descr_video" id="descr_video"></textarea></td></tr>
<tr><td width="150px">Image (50Ko, 200px*200px) : </td><td width="200px"><input type="file" name="img_video" id="img_video" /></td></tr>
<tr><td width="150px">Vidéo : </td><td width="200px"><input type="file" name="video" id="video" /></td></tr>
<tr><td width="150px"><input type="submit" name="ajout_video_episode" id="ajout_video_episode" /></td></tr></table></form></div>';
}
Merci.
<?php
//je supose qu'il y a qd même qq chose avant ce if
//sinon il manque session_start(); puisque tu utilises $_SESSION['pseudo']
if(isset($_POST['ajout_video_episode']))
{
echo'Page ajout';
$query_ajout_video_final = mysql_query("INSERT INTO videos VALUES('', '".$_SESSION['pseudo']."', '".$_POST['name_video']."', '".$_POST['descr_video']."', '', '". 0 ."', '', '".time()."')") or die(mysql_error());
if (isset($_FILES['img_video']) AND $_FILES['img_video']['error'] == 0)
{
$infosfichier = pathinfo($_FILES['img_video']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg');
if (in_array($extension_upload, $extensions_autorisees))
{
$nom = "videos/{$_POST[name_video]}.{$extension_upload}"; //la j'ai des doutes,
// essayes avec: $nom = "videos/".$_POST[name_video].".".$extension_upload";
echo 'Nom: '.$nom; ///TEST
move_uploaded_file($_FILES['img_video']['tmp_name'],$nom);
mysql_query("UPDATE videos SET image='".$nom."' WHERE nom='".$_POST['name_video']."'");
echo 'L\'ajout de l\'image a bien été effectuée !';
}
else
{
echo '<p>Le format de l\'image n\'est pas bon. Veuillez le changer.</p>';
}
}
if (isset($_FILES['video']) AND $_FILES['video']['error'] == 0)
{
$infosfichier = pathinfo($_FILES['video']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('avi, wmv');
if (in_array($extension_upload, $extensions_autorisees))
{
$nom = "videos/{$_POST[name_video]}.{$extension_upload}";
move_uploaded_file($_FILES['video']['tmp_name'],$nom);
mysql_query("UPDATE videos SET chemin='".$nom."' WHERE nom='".$_POST['name_video']."'");
echo 'L\'ajout de la vidéo a bien été effectuée !';
}
else
{
echo '<p>Le format de la vidéo n\'est pas bon. Veuillez le changer.</p>';
}
}
}
else
{
?>
<!-- c'est plus parlant en code html
ensuite dans une table il faut avoir pour chaque ligne tr le mêm nombre de td ou mettre un colspan= pour compenser
il suffit de fixer la largeur sur la première ligne les autre seront identiques
mets une value au bouton submit = ce qui sera affiché dans le bouton
-->
<div style="float: left">
<form name="form1" method="post" action="ajout_episode.php" enctype="multipart/form-data">
<table>
<tr>
<td width="150px">Nom : </td>
<td width="200px"><input type="text" name="name_video" id="name_video" /></td>
</tr>
<tr>
<td>Description : </td>
<td><textarea name="descr_video" id="descr_video"></textarea></td>
</tr>
<tr>
<td>Image (50Ko, 200px*200px) : </td>
<td><input type="file" name="img_video" id="img_video" /></td>
</tr>
<tr>
<td>Vidéo : </td>
<td><input type="file" name="video" id="video" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="ajout_video_episode" id="ajout_video_episode" value=" ?"/></td>
</tr>
</table>
</form>
</div>
<?php
}
?>