重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

php读取二进制数据,php编译成二进制文件

php读取mysql数据库中的二进制图片乱码,求指教!!

Header( "Content-type: application/octet-stream ");

成都创新互联公司2013年至今,是专业互联网技术服务公司,拥有项目成都网站建设、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元平度做网站,已为上家服务,为平度各地企业和个人服务,联系电话:18980820575

基本上原因都出在这里,根据不同的php版本,有很多不同的写法,研究一下

php + mysql 取得数据库中二进制文件,生成链接供打开

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给用户是最好的方式,否则你还得考虑把它还原到文件夹用户使用完后怎么处理的问题?如果保留那当初就应该同时把它存在文件夹省得者多麻烦,如果不保留那反复生成删除还有共享问题反而加重服务器负担。要么一次生成定期择优删除,又有许多代码有的写了。。。

php怎样把sqlite2.1中储存的图片(二进制数据 )取出,在网页上显示,

首先, 你要知道图片的格式, 如: jpg, png 诸如此类

其次, 二进制只是一种储存格式, 不影响输出

具体如下

header("Content-Type: image/jpeg"); // image/jpeg: MIME类型, 各种图片都有各自的MIME类型

... 省略数据库读取

echo $sql['Image']; // 直接输出二进制数据

只要中间不出现意外的输出(如: PHP报错), 就可以了

怎样用php读取sqlserver中存储的二进制图片字段?求高手

直接读取出来放过去,但是要注意mysql存储的格式是类型:mediumblob

要变成图片,还需要php代码转化一下

PHP关于获取二进制数据流转换为文件的方法

?php

$bin= bstr2bin($json);

file_put_contents('../somefold/',$bin);

function bstr2bin($input){

// Binary representation of a binary-string

if (!is_string($input)) return null; // Sanity check

// Unpack as a hexadecimal string

$value = unpack('H*', $input);

// Output binary representation

$value = str_split($value[1], 1);

$bin = '';

foreach ($value as $v){

$b = str_pad(base_convert($v, 16, 2), 4, '0', STR_PAD_LEFT);

$bin .= $b;

}

return $bin;

php如何打开在mysql中取出的二进制数据

你好,像制作验证码那样

把字节流扔进一个图片类型的文件里,然后就可以了

希望能解决你的问题,望采纳


网站栏目:php读取二进制数据,php编译成二进制文件
文章源于:http://cqcxhl.com/article/dsepceh.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP