Inserer url d'un fichier uploader dans base mysql

Fermé
ookahh1 Messages postés 61 Date d'inscription lundi 11 octobre 2010 Statut Membre Dernière intervention 2 octobre 2013 - 27 avril 2013 à 22:20
loupix57 Messages postés 316 Date d'inscription mercredi 20 mars 2013 Statut Membre Dernière intervention 1 juin 2015 - 29 avril 2013 à 21:14
bonjour, je eveloppe un site en ce moment et j'ai besoin d'aide.
je voudrais savoir comment inserer l'URL du fichier uploader depuis mon formulaire, dans ma base mysql.
voici le html du formulaire:

<html>
<head>
<title>Stock d'images</title>
</head>
<body>
<table width="568" border="1" align="center">
<tr>
<td width="558" height="246">
<?php
include ("transfert.php");
if ( isset($_FILES['fic']) )
{
transfert();
}
?>

<form enctype="multipart/form-data" action="#" method="post">
secteur
<input name="secteur" type="text" />
Téléphone Mobile
<input name="tel2" type="text" />
<br />
Raison sociale
<input name="raison" type="text" id="raison" />
Fax
<input name="fax" type="text" />
<br />
commune
<input name="commune" type="text" />
Email
<input name="email" type="text" id="email" />
<br />
Téléphone fixe
<input name="tel1" type="text" />
adresse
<input name="adresse" type="text" id="adresse" />
<br>
Site
<input name="site" type="text" />
<input type="hidden" name="MAX_FILE_SIZE" value="250000" />
<input type="file" name="fic" size=50 value="logo/" />
<input type="submit" value="Envoyer" />
</form>
<p><a href="liste.php">Liste</a></p></td>
</tr>
</table>
</body>
</html>


voici le code d'insertion:

<?php
function transfert ()
{
$ret = false;
$secteur = $_POST['secteur'];
$raison = $_POST['raison'];
$commune = $_POST['email'];
$adresse = $_POST['adresse'];
$tel1 = $_POST['tel1'];
$tel2 = $_POST['tel2'];
$fax = $_POST['fax'];
$email = $_POST['email'];
$site = $_POST['site'];


$img_blob = '';
$img_taille = 0;
$img_type = '';
$img_nom = '';
$taille_max =250000;
$ret = is_uploaded_file ($_FILES['fic']['tmp_name']);
if ( !$ret )
{
echo "Problème de transfert";
return false;
}
else
{
// Le fichier a bien été reçu
$img_taille = $_FILES['fic']['size'];
if ( $img_taille > $taille_max )
{
echo "Trop gros !";
return false;
}
$img_type = $_FILES['fic']['type'];
$img_nom = $_FILES['fic']['name'];



include ("connexion.php");
$img_blob = file_get_contents ($_FILES['fic']['tmp_name']);


$req = "INSERT INTO secteur (".
"nom_secteur, raison_sociale, commune, adresse, tel1, tel2, fax, email, site, img_nom, img_taille, img_type,img_blob ".
") VALUES (".
"'".$secteur."', ".
"'".$raison."', ".
"'".$commune."', ".
"'".$adresse."', ".
"'".$tel1."', ".
"'".$tel2."', ".
"'".$fax."', ".
"'".$email."', ".
"'".$site."', ".
"'".$img_nom."', ".
"'".$img_taille."', ".
"'".$img_type."', ".

// N'oublions pas d'échapper le contenu binaire
"'".addslashes ($img_blob)."') ";
$ret = mysql_query ($req) or die (mysql_error ());
return true;
}
}
?>

Merci!!!
A voir également:

3 réponses

ben moi je dirais : urlencode($img_nom);

Sinon, pour enregistrer ton fichier en Entier sur la bdd : base64_encode($img_blob);
0
ookahh1 Messages postés 61 Date d'inscription lundi 11 octobre 2010 Statut Membre Dernière intervention 2 octobre 2013 1
29 avril 2013 à 19:35
Merci Loupix mais ça ne marche toujours pas . Tu peux me donner un peu plus de detail sur comment faire pour recupérer la valeur de champs que voici:
<input type="file" name="fic" size=50 />


c'est à dire l'url du fichier à uploader?
0
loupix57 Messages postés 316 Date d'inscription mercredi 20 mars 2013 Statut Membre Dernière intervention 1 juin 2015 14
29 avril 2013 à 21:14
le champ "input file" est un champ de téléchargement de fichier qui vas être stocker dans un dossier temporaire.
$_FILE['fc']['tmp_name'];

la seule url que je voit, c'est cette variable !

Après si tu peut toujours le télécharger dans un dossier de ton serveur, et avoir ton url.
0