写真を保存してデータベースから取得しようとしていますが、問題が発生しています。他の投稿を調べましたが、解決策が見つかりませんでした。写真はデータベースにアップロードされていますが、元に戻すことができないようです。また、URL では $id=0 ですが、$id を対応するデータベース番号と等しくなるように変更しても、空白のページがロードされるだけです...これは多くのコードであることを知っているので、応答は非常に大きくなります感謝!!
CHOOSE_PHOTO.PHP
<form enctype="multipart/form-data" action="process_photo.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="image" type="file" /><br />
<input type="submit" value="Upload File" />
</form>
PROCESS_PHOTO.PHP
MY_LOGIN_INFO_AND_DATABASE_CONNECTION
if ($_FILES) {
$image_types = array
("image/bmp",
"image/jpeg",
"image/pjpeg",
"image/gif",
"image/x-png");
if (is_uploaded_file ($_FILES["image"]["tmp_name"])) {
$image = addslashes (fread
(fopen ($_FILES["image"]["tmp_name"], "r"),
filesize ($_FILES["image"]["tmp_name"])));
$file_name = $_FILES["image"]["name"];
$file_size = $_FILES["image"]["size"];
$file_type = $_FILES["image"]["type"];
if (in_array (strtolower ($file_type), $image_types)) {
$sql = "INSERT INTO image_table "
. "(image_type, image, image_size, image_name, image_date) ";
sql.= "VALUES (";
$sql.= "'{$file_type}', '{$image}', '{$file_size}', "
. "'{$file_name}', NOW())";
@mysql_query ($sql, $conn);
exit();
}
}
}
$id = mysql_insert_id($conn);
mysql_close($conn);
header("Location: photo_preview.php?id=$id");
PHOTO_PREVIEW.PHP
MY_LOGIN_INFO_AND_DATABASE_CONNECTION
$result = mysql_query("SELECT * FROM image_table WHERE image_id= "
. mysql_real_escape_string($_GET["id"]), $conn);
if(!$result) die(mysql_error());
$row = mysql_fetch_assoc ($result);
if (mysql_num_rows($result) > 0)
{
$row = @mysql_fetch_assoc ($result);
$image_type = $row["image_type"];
$image = $row["image"];
Header ("Content-type: $image_type");
print $image;
}
?>