Inserer un blob dans une bdd en php

Fermé
salimdrame Messages postés 70 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 24 juin 2011 - 20 juin 2008 à 11:20
 Utilisateur anonyme - 20 juin 2008 à 13:24
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
A voir également:

2 réponses

salimdrame Messages postés 70 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 24 juin 2011 1
20 juin 2008 à 13:18
personne pour me donner une réponse???
0
Utilisateur anonyme
20 juin 2008 à 13:24
Et tu l'utilises quand ta fonction transfert() ? Parce que là tu fais que de la déclarer...
Il affiche quel contenu $_POST['fic'] avant de faire le test ?
Je suis pas certaint qu'il soit nécessaire de faire le test isset ET !empty....
0