msi79
Messages postés509Date d'inscriptionlundi 24 août 2009StatutMembreDernière intervention 2 mai 2023
-
Modifié par msi79 le 27/07/2013 à 20:40
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 2022
-
2 août 2013 à 14:12
salue j'ecris un code pour inserrer des images dans ma base de données . je reçois le message :L'insertion s est bien déroulée ! .mais rien ne ce passe dans la bdd.
merci de bien vouloir m'aider.
voici mon code :
<?php
//include('functions/declarant.func.php');
include('body/header.php');
include('body/menu.php');
?>
<?php
if(isset($_GET['id'])) $id = urldecode($_GET['id']);
if(isset($_POST['bouton_submit'])&& !empty($_POST['nbre'])){
$cat = strip_tags(trim($_POST['cat']));
for($i = 1; $i <= $_POST['nbre']; $i++){
if(isset($_FILES['image'.$i]) && $_FILES['image'.$i]['error'] == 0 && isset($_POST['nbre'])){
//Indique si le fichier a été téléchargé
if(!is_uploaded_file($_FILES['image'.$i]['tmp_name']))
echo 'Un problème est survenu durant l opération. Veuillez réessayer !';
else {
//liste des extensions possibles
$extensions = array('/png', '/gif', '/jpg', '/jpeg');
//récupère la chaîne à partir du dernier / pour connaître l'extension
$extension = strrchr($_FILES['image'.$i]['type'], '/');
//vérifie si l'extension est dans notre tableau <em></em>
if(!in_array($extension, $extensions))
echo 'Vous devez uploader un fichier de type png, gif, jpg, jpeg.';
else {
//on définit la taille maximale
define('MAXSIZE', 300000);
if($_FILES['image'.$i]['size'] > MAXSIZE)
echo 'Votre image est supérieure à la taille maximale de '.MAXSIZE.' octets';
else {
//connexion à la base de données
try {
$bdd = new PDO('mysql:host=localhost;dbname=------------', 'root', '');
} catch (Exception $e) {
exit('Erreur : ' . $e->getMessage());
}
//Lecture du fichier
$image = file_get_contents($_FILES['image'.$i]['tmp_name']);
$req = $bdd->prepare("INSERT INTO image(img, extension ,id_victime) VALUES(:image, :type , :id)");
$req->execute(array(
'image' => $image,
'type' => $_FILES['image'.$i]['type']
));
echo 'L\'insertion s est bien déroulée !';
}
}
}
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
<style type="text/css">
<!--
.Style3 {
color: #0000FF;
font-weight: bold;
}
.Style4 {
color: #990033;
font-weight: bold;
}
.Style6 {color: #990000}
-->
</style>
</head>
<body>
<div class="DestinaireImage" align="center" >
<h1 align="center" class="subfooter Style3">Enregistrement des Courriers </h1>
<form action="" method="post" enctype="multipart/form-data">
<p> </p>
<table width="570" height="95" border="0" align="center" bordercolor="#0000FF" >
<tr> <td width="200"><span class="Style4">Saisir le nombre de pages:</span></td>
<td width="360"><input name="nbre" type="text" size="1" maxlength="1" value="<?php if(isset($_POST['nbre']))echo $_POST['nbre'];?>"/></td> </tr> <tr> <td> </td> <td bordercolor="#0000FF"> <fieldset> <legend><span class="Style6">AJOUTER DES DOCUMENTS </span></legend>
<?php if(isset($_POST['bouton_submit']) && ($_POST['nbre'])){ extract($_POST); $nbre_photo = $nbre; for($j = 1; $j<= $nbre_photo; $j++){ echo'<input type="file" name="image'.$j.'" /><br/>'; } } ?> </fieldset> </td> </tr> <tr> <td> </td> <td><input type="submit" name="bouton_submit" value="envoyer" ></input></td> </tr></table>
</form>
</div>
<p> </p>
</body>
</html>
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 Modifié par f0xi le 2/08/2013 à 14:13
tu peux même stocker le type en base, base64 etant du texte ... par contre, c'est chaud si ce sont de groooooosssssse image. autant les stocker sur le disque en clair (et accessoirement les protégé via un .htaccess).
________________________________________________________
[ besoin de câbles audio, vidèo, informatique pas cher ?]