◀ Previous Next ▶ Up ▲



จะ display image จาก database ด้วย php ยังไง

สวัสดีค่ะ
มีเรื่องรบกวนเซียน php ทุกคนเลยอ่ะค่ะ
คือว่า ได้ลองทำไฟล์ที่ upload ภาพลง database แล้วอยากจะ display ภาพนั้นขึ้นมา
code ที่เขียนเนี่ย สามารถเก็บภาพใน database ได้แล้ว
แต่ปัญหาก็คือ พอเวลาจะ display ภาพ ภาพดันไม่ขึ้นน่ะค่ะ

เราใช้ phpMyadmin 2.3.0  
เราได้ลองให้เพื่อนดู code ให้ และลองเปิดดู เพื่อนบอกว่าก็ไม่ได้แก้ code อะไรเลย  แต่ว่าเพื่อนเราใช้ sql server เป็น database ค่ะ ก็สามารถ upload และ display ภาพได้

นี่คือ code ของเรานะคะ มี 3 ไฟล์ค่ะ

store.php
-----------

<html>
<head><title>store image test</title></head>
<body>

<?php
if (isset($_request['submit'])) {

$conn = mysql_connect("localhost","root","") or die('could not connect '. mysql_error());
mysql_select_db("test");

$data = addslashes(fread(fopen($_files['form_data']['tmp_name'], "r"), $_files['form_data']['size']));

$result=mysql_query("insert into binarydata (description,bindata,filename,filesize,filetype) ".
"values ('".$form_description."','".$data."','".$_files['form_data']['name']."','".$_files['form_data']['size']."','".$_files['form_data']['type']."')");

$id= mysql_insert_id();
print "<p>this file has the following database id: <b>$id</b>";

mysql_close();

} else {


?>

<form method="post" action="store.php" enctype="multipart/form-data">
file description:<br>
<input type="text" name="form_description" size="40">
<input type="hidden" name="max_file_size" value="1000000">
<br>file to upload/store in database:<br>
<input type="file" name="form_data">
<p><input type="submit" name="submit" value="submit">
</form>

<?php

}

?>

</body>
</html>
================================

getdata.php
--------------
<?php

if($id) {

   mysql_connect("localhost","root","");

   mysql_select_db("test");

   $query = "select bindata,filetype,filesize from binarydata where id=$id";
   $result = mysql_query($query);

   $data = mysql_result($result,0,"bindata");
   $type = mysql_result($result,0,"filetype");
 
   header( "content-type: $type");
   echo $data;

};
?>
=================================

display.php
-------------
<html>
<head>
<title>Display Image</title>
</head>
<body>
<img src="getdata.php?id=1">
</body>
</html>
=================================

นี่คือ ข้อมูล database ค่ะ
---------------------------
CREATE TABLE binarydata (
id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY,
description CHAR(50),
bindata LONGBLOB,
filename CHAR(50),
filesize CHAR(50),
filetype CHAR(50)
);
=================================
เราลองมาหลายวันแล้ว ทั้ง search หาตัวอย่าง แต่ก็ไม่ work อ่ะค่ะ  รบกวนพี่ๆ เพื่อนๆ น้องๆ ห้องนี้ ที่เก่งๆ ช่วยลองดู code ให้หน่อยนะคะ  
ขอบคุณค่ะ


จากคุณ : littlehouse -[ 2 มิ.ย. 50 - 18:42:17 ]





กระทู้ยอดนิยม