Forum » » Le coin des codeurs » » insertion image ds mysql
Posté : 17 févr. 2003 à 23:34 
voila la reponse :
dabord exemple du form :
<form enctype=multipart/form-data action=../base/basephoto.php method=post>
<td>
<input type=hidden name=MAX_FILE_SIZE value=100000 />
photo 1 <input type=file name=photo1 />
</td>
<input type=submit NAME=Enregistrement>
</center>
</form>
Maintenant voici le code pour le php :
// définition de l'espace destiné à recevoir les fichiers
$repository="/home/photo/";
// si un fichier maphoto a bien été transféré
if (is_uploaded_file($_FILES["photo1"]["tmp_name"])) {
// recupération de l'extension du fichier
// autrement dit tout ce qu'il y a après le dernier point (inclus)
$photo1 = $_FILES["photo1"]["name"];
$extension = substr($photo1, strrpos($photo1, "."));
// Contrôle de l'extension du fichier
if (eregi("^ph", $extension)) {
die("Les fichiers en .ph* ne sont pas autorisés.");
}
$chemin1 = $id . "_photo1" . $extension;
rename($_FILES["photo1"]["tmp_name"], $repository.$chemin1);
}
if (is_uploaded_file($_FILES["photo2"]["tmp_name"])) {
// recupération de l'extension du fichier
// autrement dit tout ce qu'il y a après le dernier point (inclus)
$photo2 = $_FILES["photo2"]["name"];
$extension = substr($photo2, strrpos($photo2, "."));
// Contrôle de l'extension du fichier
if (eregi("^ph", $extension)) {
die("Les fichiers en .ph* ne sont pas autorisés.");
}
$chemin2 = $id . "_photo2" . $extension;
rename($_FILES["photo2"]["tmp_name"], $repository.$chemin2);
}
if (is_uploaded_file($_FILES["photo3"]["tmp_name"])) {
// recupération de l'extension du fichier
// autrement dit tout ce qu'il y a après le dernier point (inclus)
$photo3 = $_FILES["photo3"]["name"];
$extension = substr($photo3, strrpos($photo3, "."));
// Contrôle de l'extension du fichier
if (eregi("^ph", $extension)) {
die("Les fichiers en .ph* ne sont pas autorisés.");
}
$chemin3 =$id . "_photo3" . $extension;
rename($_FILES["photo3"]["tmp_name"], $repository.$chemin3);
}
// Exemple de requete de stockage en BD avec MySQL
// et une table qui aurait pu être créée par
// CREATE TABLE matable (login varchar(64), image varchar(64), icone varchar(64));
$db = mysql_connect("localhost","root","") or die("Connexion impossible");
mysql_select_db("voiture") or die("Connexion impossible2");
$id = $id;
$chemin1 = "$chemin1";
$chemin2 = "$chemin2";
$chemin3 = "$chemin3";
$sql = "UPDATE voiture SET photo1='$chemin1',photo2='$chemin2',photo3='$chemin3' WHERE ID=$id";
$RET = @mysql_query($sql,$db);
if ($RET<1){ print("Pas de mise à jour de l'enregistrement $id\n");}
else {
$resultat=mysql_query (" SELECT * FROM `TABLE'
WHERE id=$id");
$row = mysql_fetch_array($resultat);
$id = $row['id'];
echo "
<body bgcolor=336666>
<center>
<u> <font size=4 color=red>VOTRE ENREGISTREMENT A ETE CORRECTEMENT ENCODE
</u></font>
<center>
<br>
<font size=4 color=red>identifiant=$id
</font>
<br>
<table width=600>
<tr border=1 >
<td>
<table border=2 width=300>
<td>
<font color=FFFF99 size=2><b>photo</font></b>
<font color=white size2> $photo
</font>
</td>
</table>
</td>
"
;}
mysql_close($db);
?>
Voila tout le code php et le code mysql avec verification de la base de donne .
J'espere t'avoir bien aider.
Et tu peux meme ajouter et modifier des partie du scrip pour securise.
L.interdiction de certain type de fichier.
Au fait ce script ne permet que l'upload de fichier de moin de 2 MB sinon le script ommet une erreur du au fait que si je me trompe pas, c'est de paramettre dans la config de apache qui blocque la taille de l'upload.
Voila bon amusement.
KarAParS ThE OnE LovE Sensi
(DEV desole, je savais pas qu'il fallait desactiver le html.. moi aussi je suis novice..)
Cet article provient de NPDS
https://www.npds.org/viewtopic.php?topic=4160&forum=5