写真をアップロードすると、上に表示されるプログラムがあります。AJAX がないため、ページを更新すると写真が表示されます。しかし、もう一度更新すると、写真が再アップロードされて表示されます。最初にアップロードされたデータを削除するにはどうすればよいですか?
メインページはこちら。
<?php
include 'id2.php';
$file = $_FILES['image']['tmp_name'];
if(!isset($file)) {
echo "Please select image.";
} else {
$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name = $_FILES['image']['name'];
$image_size = getimagesize($_FILES['image']['tmp_name']);
if($image_size==FALSE) {
echo 'that is not an image.';
} else {
if (!$insert = mysql_query("INSERT INTO photo VALUES ('', '$image_name', '$image')")) {
echo "Problem uploading image";
}
}
}
?>
<form action="Photosite.php" method="POST" enctype="multipart/form-data">
<input type="file" name="image"></br></br>
<input type="submit" value="Submit">
</form>
私の画像表示ページ。
$query = "SELECT `id` FROM `photo`.`photo`";
$query_run = mysql_query($query);
while ($data = mysql_fetch_array($query_run)) {
echo '<'.'img src="id.php?id='.$data['id'].'">';
}
そして残り
$id = abs($_GET['id']);
$query = mysql_query("SELECT `image` FROM `photo`.`photo` WHERE id='$id'");
$data = mysql_fetch_array($query) or die (mysql_error());
$image = $data['image'];
$jpgimage = imagecreatefromstring($image);
$image_width = imagesx($jpgimage);
$image_height = imagesy($jpgimage);
$new_size = ($image_width + $image_height)/($image_width*($image_height/45));
$new_width = $image_width * $new_size;
$new_height = $image_height * $new_size;
$new_image = imagecreatetruecolor($new_width, $new_height);
imagecopyresized($new_image, $jpgimage, 0, 0, 0, 0, $new_width, $new_height, $image_width, $image_height);
header('Content-type: image/jpeg');
imagejpeg($new_image, null);
?>
答えは簡単だと思いますが、私はこれが初めてなので、ありがとう!
ああ、そうです、クエリ関数の一部が古くなっていることは知っています!