Voici un script que j'ai modifié pour fonctionner avec la structure de votre table.
function addImageToDB($imageArray, $title = '', $subject = '', $visible = 0) {
$allowedExts = array("gif","jpeg","jpg","JPG","png","PNG");
$extension = end(explode(".", $imageArray["name"]));
if (
(($imageArray["type"] == "image/gif") // is image type acceptable?
|| ($imageArray["type"] == "image/jpeg")
|| ($imageArray["type"] == "image/jpg")
|| ($imageArray["type"] == "image/png")
)
&& ($imageArray["size"] < 1048576) // set maximum image size
&& in_array($extension, $allowedExts) // is image file extension in $allowedExts?
) {
if ($imageArray["error"] > 0) { // check uploaded image for errors
echo $imageArray['error'];
} else {
$tempImage = $imageArray['tmp_name'];
$fp = fopen($tempImage, 'r');
$image = fread($fp, filesize($tempImage));
$image = addslashes($image);
fclose($fp);
$queryAddImageToDB = "INSERT INTO image (
title,
subject,
image,
visible
) VALUES (
'$title'
'$subject',
'$image',
'$visible'
)";
mysql_query ($queryAddImageToDB) or die ('queryAddImageToDB failed');
$imageID = mysql_insert_id();
return $imageID;
}
} else {
echo 'IMAGE UPLOAD ERROR: The image ie either too large or the file format is unacceptable.';
echo '<pre>';
print_r($imageArray); // display image array for debugging
echo '</pre>';
}
';} }
Vous pouvez appeler la fonction comme ceci :
$imageArray = $_FILES['image'];
$title = $_POST['title'];
$subject = $_POST['subject'];
$visible = 1;
addImageToDB($imageArray, $title, $subject, $visible);
Veuillez noter que ce script N'EST PAS COMPLET car il nécessite une validation appropriée, un échappement, etc.
Bonne chance, j'espère que cela fonctionnera pour vous et j'ai hâte d'entendre des commentaires autrement.