PHP上传图片存储在数据库中,例如共享 浏览:421

大多数人上传图片保存在一个数据库路径,所以很快在插入,也与网络的特点,但缺失是很麻烦的,需要找到并删除文件的代码,可以把代码直接进入数据库,删除。请注意:这将增加数据库的大小,请使用适当的。

表结构
复制代码代码如下所示:
创建表(上传)
` ID ` int(10)符号的非空auto_increment,
`型` varchar(20)不为空,
`数据` mediumblob不空,
主键(id)
InnoDB引擎= = 1 auto_increment默认的字符集utf8);


index.html
复制代码代码如下所示:




后的图像











post.php
复制代码代码如下所示:
< PHP
如果($ _files { 文件
{
回声错误:_files美元{文件
}
其他的
{
美元美元_files { = 类型的文件
_files {文件大小=美元美元的} { 'size};
TMP =美元美元_files { 文件
$ FP = fopen($ TMP,'rb);
$data = bin2hex(fread(FP美元美元,大小));
DSN = 'mysql:美元主机= localhost;北京测试;
回声';
尝试{
为PDO =新PDO($ DSN,'root ','root);
为PDO -> exec(插入`上传`(`型`,`数据`)值($型,0x $data));
ID =美元美元-> lastinsertid(PDO);
echo'upload成功!视图;
为PDO = null;
} catch(PDOException,e){
echo $ E -> GetMessage();
}
回声';
Fclose($ FP);
}


view.php
复制代码代码如下所示:
< PHP
ID =美元美元_get { 'id' };
如果(is_numeric($id)){
DSN = 'mysql:美元主机= localhost;北京测试;
尝试{
为PDO =新PDO($ DSN,'root ','root);
RS =美元美元PDO ->查询('select * `上传`哪里` ID ` = '。$id);
$行=美元-> fetchall(RS);
$ = $行{ 0 };
标题(内容类型:$ {数据类型} } { );
echo $数据{数据};
为PDO = null;
} catch(PDOException,e){
echo $ E -> GetMessage();
}
其他{ }
出口();
}
推荐文章1
广告