分享
 
 
 

用PHP实现把图象上传到数据库

王朝php·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

有什么问题请与我联系:http://www.webjx.com web@webjx.com

转载请注明出处

今天教给大家如何用PHP实现把图象上传到MYSQL数据库中。 在这个教程中我们需要建立3个PHP文件:

readdir.php - 把图片放到数据库的代码

image.php - 显示实际图片的代码

view.php - 显示你如何调用数据库中的图片的代码

1.创建一个数据库

CREATE TABLE `images` (

`imgid` INT NOT NULL AUTO_INCREMENT ,

`sixfourdata` LONGTEXT NOT NULL ,

PRIMARY KEY ( `imgid` )

);

READDIR.PHP

具体的内容:

<?

$dbcnx = mysql_connect("localhost", "username", "password");

mysql_select_db("base64imgdb");

?>

'我们需要打开一个目录

"./"

'readdir.php 文件定位于这个目录:

$path = "./";

$dir_handle = opendir($path) or die("Unable to open directory $path");

下面是比较难的部分,大家需要好好研究一下:把图象分类,并且读出正在使用的一些数据

fopen

'转换

base64_encode

' 插入到表里

<?

while ($file = readdir($dir_handle)) {

$filetyp = substr($file, -3);

if ($filetyp == 'gif' OR $filetyp == 'jpg') {

$handle = fopen($path . "/" . $file,'r');

$file_content = fread($handle,filesize($path . "/" . $file));

fclose($handle);

$encoded = chunk_split(base64_encode($file_content));

$sql = "INSERT INTO images SET sixfourdata='$encoded'";

mysql_query($sql);

}

}

?>

关闭设置的目录,然后处理:

<?

closedir($dir_handle);

echo("complete");

mysql_close($dbcnx);

?>

读出图片的代码:IMAGE.PHP

这段代码比较难,我们要好好看看

<?

$dbcnx = mysql_connect("localhost", "username", "password");

mysql_select_db("base64imgdb");

?>

我们读出图片使用的代码image.php?img=x:

<?

$img = $_REQUEST["img"];

?>

之后我们需要连接数据库,然后读出

<?

$result = mysql_query("SELECT * FROM images WHERE imgid=" . $img . "");

if (!$result) {

echo("<b>请求错误: " . mysql_error() . "</b>");

exit();

}

while ($row = mysql_fetch_array($result)) {

$imgid = $row["imgid"];

$encodeddata = $row["sixfourdata"];

}

?>

<?

mysql_close($dbcnx);

echo base64_decode($encodeddata);

?>

在这里我们要理解base64-encoded 图象数据格式。

"让我们来看看具体的图片吧!" VIEW.PHP

image.php?img=1

image.php?img=357

<img src='image.php?img=1' border="0" alt="">

看看完整的一个例子吧!

readdir.php:

<?

###############################

# DB CONNECTION

# CHANGE THESE VALUES

###############################

$dbcnx = mysql_connect("localhost", "username", "password");

mysql_select_db("base64imgdb");

$path = "./";

$dir_handle = opendir($path) or die("Unable to open directory $path");

while ($file = readdir($dir_handle)) {

$filetyp = substr($file, -3);

if ($filetyp == 'gif' OR $filetyp == 'jpg') {

$handle = fopen($file,'r');

$file_content = fread($handle,filesize($file));

fclose($handle);

$encoded = chunk_split(base64_encode($file_content));

$sql = "INSERT INTO images SET sixfourdata='$encoded'";

mysql_query($sql);

}

}

closedir($dir_handle);

echo("complete");

mysql_close($dbcnx);

?>

image.php:

<?

$dbcnx = mysql_connect("localhost", "username", "password");

mysql_select_db("base64imgdb");

$img = $_REQUEST["img"];

$result = mysql_query("SELECT * FROM images WHERE imgid=" . $img . "");

if (!$result) {

echo("<b>Error performing query: " . mysql_error() . "</b>");

exit();

}

while ($row = mysql_fetch_array($result) ) {

$imgid = $row["imgid"];

$encodeddata = $row["sixfourdata"];

}

mysql_close($dbcnx);

echo base64_decode($encodeddata);

?>

And view.php (i shouldnt need to post this..)

<html>

<body>

..

<img src='image.php?img=1' border="0" alt="">

..

</body>

</html>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有