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

有什么问题请与我联系:http://www.webjx.com web@webjx.com 转载请注明出处

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

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

http://www.gaodaima.com/48218.html用PHP实现把图象上传到数据库_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("请求错误: " . mysql_error() . "");

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

看看完整的一个例子吧!

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("Error performing query: " . mysql_error() . "");

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..)

..

..

欢迎大家阅读《用PHP实现把图象上传到数据库_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值