Bonsoir,
Je viens de réaliser un script à l'aide de quelques tutoriels disponibles sur Developpez. Ce script a pour but d'encoder une image dans une table via le Type BLOB comme attribut de l'image en question.
L'encodage se passe très bien, j'ai bien vérifié via phpMyAdmin.
Le seul problème, c'est l'affichage en lui-même. J'ai respecter scrupuleusement le tuto, mais malgré cela j'ai toujours des problèmes.
En fait au lieu de m'afficher l'image, il m'affiche ceci :
http://localhost/Viet%20Vo%20Dao/index.php?page=apercu&id=3[/url]
Mais la ou c'est étrange, c'est qu'il me l'affiche comme image et non pas comme texte.(Je ne peux rien selectionner
)
D'apres certains forums, le fait que je sois en local ne devrait rien changer est-ce vrai ?
Si, oui quel est le problème ? Voici mes scripts :
[envoi_image.php]
[transfert.php]
[liste.php]
[apercu.php]
Merci d'avance :cry:
Je viens de réaliser un script à l'aide de quelques tutoriels disponibles sur Developpez. Ce script a pour but d'encoder une image dans une table via le Type BLOB comme attribut de l'image en question.
L'encodage se passe très bien, j'ai bien vérifié via phpMyAdmin.
Le seul problème, c'est l'affichage en lui-même. J'ai respecter scrupuleusement le tuto, mais malgré cela j'ai toujours des problèmes.
En fait au lieu de m'afficher l'image, il m'affiche ceci :

Mais la ou c'est étrange, c'est qu'il me l'affiche comme image et non pas comme texte.(Je ne peux rien selectionner

D'apres certains forums, le fait que je sois en local ne devrait rien changer est-ce vrai ?
Si, oui quel est le problème ? Voici mes scripts :
[envoi_image.php]
<html>
<head>
<title>Stock d'images</title>
</head>
<body>
<?php
include ("transfert.php");
if ( isset($_FILES['fic']) )
{
transfert();
}
?>
<h3>Envoi d'une image</h3>
<form enctype="multipart/form-data" action="#" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="250000" />
<input type="file" name="fic" size=50 />
<input type="submit" value="Envoyer" />
</form>
<p><a href="index.php?page=liste">Liste</a></p>
</body>
</html>
[transfert.php]
<?php
function transfert ()
{
$ret = false;
$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 vovinam_images (".
"img_nom, img_taille, img_type, img_blob ".
") VALUES (".
"'".$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;
}
}
?>
[liste.php]
<body>
<?php
include ("connexion.php");
$req = "SELECT img_nom, img_id ".
"FROM vovinam_images ORDER BY img_nom";
$ret = mysql_query ($req) or die (mysql_error ());
while ( $col = mysql_fetch_row ($ret) )
{
echo "<a href=\"index.php?page=apercu&id=".$col[1]."\">".$col[0]."</a><br />";
}
?>
[apercu.php]
<?php
if (isset($_GET['id']) )
{
$id = intval ($_GET['id']);
include ("connexion.php");
$req = "SELECT img_id, img_type, img_blob ".
"FROM vovinam_images WHERE img_id = ".$id;
$ret = mysql_query ($req) or die (mysql_error ());
$col = mysql_fetch_row ($ret);
if ( !$col[0] )
{
echo "Id d'image inconnu";
}
else
{
header ("Content-type: ".$col[1]);
echo $col[2];
}
}
else
{
echo "Mauvais id d'image";
}
?>
Merci d'avance :cry: