Inserer un blob dans une bdd en php
salimdrame
Messages postés
71
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'essaye depuis plus de 24 heures d'insérer une image dans ma BDD mais mon probléme est que l'image n'est jamais transmise et mon formulaire m'affiche toujours "Vous n'avez fourni aucun fichier" alors que j'en ai effectivement fourni un.
Quelqu'un aurait t'il la solution?
*****************Voici mon code HTML******************
<table width="500" border="0" cellspacing="4" cellpadding="0" align="center">
<form action="mise_a_jour.php" enctype="multipart/form-data">
<tr>
<td><label>Illustration</label></td>
<td><input type="file" name="fic" size="40" />
<input type="hidden" name="Max_File_Size" value="500000" /></td>
</tr>
<tr>
<td><input type="submit" value="Actualiser" name="submit" /></td>
<td></td>
</tr>
</form>
</table>
***********************************************************
********************Mon code PHP************************************
<?php
//Si l'image est fournie
if (isset($_POST['fic']) && !empty($_POST['fic']))
{
//On défini la fonction
function transfert ()
{
$ret = true;
$img_blob = '';
$img_taille = 0;
$img_type = '';
$img_nom = '';
$taille_max = 500000;
$ret = is_uploaded_file ($_FILES['fic']['tmp_name']);
if ( !$ret )
{
$message = 'Un probléme de transtert est survenu';
}
else
{
// Le fichier a bien été reçu
$img_taille = $_FILES['fic']['size'];
if ( $img_taille > $taille_max )
{
$message = 'Le poid du fichier excéde 500ko';
}
$img_type = $_FILES['fic']['type'];
$img_nom = $_FILES['fic']['name'];
$hote = '****';
$base = '****';
$user = '****';
$pass = '****';
$cnx = mysql_connect ($hote, $user, $pass) or die (mysql_error ());
$ret = mysql_select_db ($base) or die (mysql_error ());
$img_blob = file_get_contents ($_FILES['fic']['tmp_name']);
$req = "INSERT INTO a_jour VALUES (".
"'".$img_nom."', ".
"'".$img_taille."', ".
"'".$img_type."', ".
"'".$img_blob."') ";
// N'oublions pas d'échapper le contenu binaire
"'".addslashes ($img_blob)."') ";
$ret = mysql_query ($req) or die (mysql_error ());
return true;
}
}
}
else
{
$message = 'Vous n\'avez fourni aucun fichier';
}
?>
**************************************
Dans ma BDD j'ai créé la table "a_jour" avec les champs suivant :
id
img_nom de type varchar
img_taille de type varchar
img_type de type varchar
img_blob de type BLOB
Je vous remercie d'avance
J'essaye depuis plus de 24 heures d'insérer une image dans ma BDD mais mon probléme est que l'image n'est jamais transmise et mon formulaire m'affiche toujours "Vous n'avez fourni aucun fichier" alors que j'en ai effectivement fourni un.
Quelqu'un aurait t'il la solution?
*****************Voici mon code HTML******************
<table width="500" border="0" cellspacing="4" cellpadding="0" align="center">
<form action="mise_a_jour.php" enctype="multipart/form-data">
<tr>
<td><label>Illustration</label></td>
<td><input type="file" name="fic" size="40" />
<input type="hidden" name="Max_File_Size" value="500000" /></td>
</tr>
<tr>
<td><input type="submit" value="Actualiser" name="submit" /></td>
<td></td>
</tr>
</form>
</table>
***********************************************************
********************Mon code PHP************************************
<?php
//Si l'image est fournie
if (isset($_POST['fic']) && !empty($_POST['fic']))
{
//On défini la fonction
function transfert ()
{
$ret = true;
$img_blob = '';
$img_taille = 0;
$img_type = '';
$img_nom = '';
$taille_max = 500000;
$ret = is_uploaded_file ($_FILES['fic']['tmp_name']);
if ( !$ret )
{
$message = 'Un probléme de transtert est survenu';
}
else
{
// Le fichier a bien été reçu
$img_taille = $_FILES['fic']['size'];
if ( $img_taille > $taille_max )
{
$message = 'Le poid du fichier excéde 500ko';
}
$img_type = $_FILES['fic']['type'];
$img_nom = $_FILES['fic']['name'];
$hote = '****';
$base = '****';
$user = '****';
$pass = '****';
$cnx = mysql_connect ($hote, $user, $pass) or die (mysql_error ());
$ret = mysql_select_db ($base) or die (mysql_error ());
$img_blob = file_get_contents ($_FILES['fic']['tmp_name']);
$req = "INSERT INTO a_jour VALUES (".
"'".$img_nom."', ".
"'".$img_taille."', ".
"'".$img_type."', ".
"'".$img_blob."') ";
// N'oublions pas d'échapper le contenu binaire
"'".addslashes ($img_blob)."') ";
$ret = mysql_query ($req) or die (mysql_error ());
return true;
}
}
}
else
{
$message = 'Vous n\'avez fourni aucun fichier';
}
?>
**************************************
Dans ma BDD j'ai créé la table "a_jour" avec les champs suivant :
id
img_nom de type varchar
img_taille de type varchar
img_type de type varchar
img_blob de type BLOB
Je vous remercie d'avance
A voir également:
- Inserer un blob dans une bdd en php
- Insérer une vidéo dans powerpoint - Guide
- Insérer signature word - Guide
- Insérer un espace insécable dans word - Guide
- Insérer liste déroulante excel - Guide
- Insérer un sommaire dans word - Guide