重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
首先, 你要知道图片的格式, 如: jpg, png 诸如此类
你所需要的网站建设服务,我们均能行业靠前的水平为你提供.标准是产品质量的保证,主要从事成都网站设计、成都网站建设、企业网站建设、成都手机网站制作、网页设计、品牌网站建设、网页制作、做网站、建网站。创新互联建站拥有实力坚强的技术研发团队及素养的视觉设计专才。
其次, 二进制只是一种储存格式, 不影响输出
具体如下
header("Content-Type: image/jpeg"); // image/jpeg: MIME类型, 各种图片都有各自的MIME类型
... 省略数据库读取
echo $sql['Image']; // 直接输出二进制数据
只要中间不出现意外的输出(如: PHP报错), 就可以了
你好,像制作验证码那样
把字节流扔进一个图片类型的文件里,然后就可以了
希望能解决你的问题,望采纳
直接读取出来放过去,但是要注意mysql存储的格式是类型:mediumblob
要变成图片,还需要php代码转化一下
filelist.php
?php
................
$result=mysql_db_query(.........id,filename.........);#查询结果并存入变量中
$rows=mysql_num_rows($result);#得出数据行数
for($i=0;$i$rows;$i++){
$total=mysql_fetch_array($result);
echo
"lia
href='filedown.php?fileid=$total[id]filename=$total[filename]'
target
='_blank'
$total[filename]/a/li";
}
...............
?
filedown.php
?php
$fid=$_GET['fileid'];
$fname=$_GET['filename'];
.....................
.....................
$result=mysql_db_query(.........,"select
id,filename,datasize,filedata
from
ftable
where
id='$fid'",.........);
$total=mysql_fetch_array($result);
$file_size=$total[datasize];
header("Content-type:application/octet-stream");
header("Accept-Ranges:bytes");
header("Accept-Length:$file_size");
header("Content-Disposition:attachment;filename=".$total[filename]);
echo
$total[filedata];
...............
?
======
你说把二进制的字节流取出生成文件保存到磁盘然后给个超链接,
这样做法没意义,你既然把它存在库里了那直接stream给用户是最好的方式,否则你还得考虑把它还原到文件夹用户使用完后怎么处理的问题?如果保留那当初就应该同时把它存在文件夹省得者多麻烦,如果不保留那反复生成删除还有共享问题反而加重服务器负担。要么一次生成定期择优删除,又有许多代码有的写了。。。