怎么在php项目中对图片进行二进制转换-创新互联

这篇文章将为大家详细讲解有关怎么在php项目中对图片进行二进制转换,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

专注于为中小企业提供网站制作、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业甘孜州免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

具体实现方法如下:

html代码如下:


 
 
 

将图片保存到数据库,代码如下:


query("INSERT INTO img (images) VALUES (‘$buf')"); 
//获取影响的行数 
if ($result->rowCount() >0) { 
echo("数据已插入。"); 
} else { 
echo("不能执行插入操作。"); 
} 
//显式的关闭PDO连接 
$dbh = NULL; 
?>

显示图片show.php,代码如下:


或者,代码如下:

补充:

1、fopen函数.

fopen()函数用于打开文件或者URL,语法如下:

int fopen(string filename, string mode);

字符串参数mode可以是下列的情形:

"r"开文件方式为只读,文件指针指到开始处.

"r+"开文件方式为可读写,文件指针指到开始处。

"w"开文件方式为写入,文件指针指到开始处,并将原文件的长度设为0。若文件不存在,则建立新文件。

"w+"开文件方式为可读写,文件指针指到开始处,并将原文件的长度设为0。若文件不存在,则建立新文件。

"a"开文件方式为写入,文件指针指到文件最后。若文件不存在,则建立新文件。

"a+"开文件方式为可读写,文件指针指到文件最后。若文件不存在,则建立新文件。

"b"若操作系统的文字及二进位文件不同,则可以用此参数,UNIX系统不需要使用本参数。

2、Addslashes函数

Addslashes函数用于将字符串加入斜线,语法如下,注:我测试的时候是把这个函数去掉后成功了,道理你懂的,自己试下就明白了.

string addslashes(string str);

该函数使需要让数据库处理的字符串,引号的部份加上斜线,以供数据库查询(query)能顺利运作,这些会被改的字符包括单引号(')、双引号(")、反斜线backslash()以及空字符NULL(the null byte).

3、fread函数

fread函数用于读到指定长度的位组或到文件尾EOF,语法如下:

string fread(int fp, int length);可安全用于二进制文件

fread() 从文件指针 file 读取最多 length 个字节,该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况.

二进制转换成图片

注:$newFilePath 对生成的图片名和路径做处理,这里自己去实现,代码如下:


$newFilePath='1.jpg';


$data = $GLOBALS[HTTP_RAW_POST_DATA];//得到post过来的二进制原始数据
if(emptyempty($data)){
$data=file_get_contents("php://input");
}
$newFile = fopen($newFilePath,"w");//打开文件准备写入
fwrite($newFile,$data);//写入二进制流到文件
fclose($newFile);//关闭文件


可以把读取到的二进制流存到数据库,也可以直接写入成一个图片,获取二进制头文件,从而得知属于什么类型文件,代码如下:


$bin = substr($content,0,2);


$strInfo = @unpack("C2chars", $bin);
$typeCode = intval($strInfo['chars1'].$strInfo['chars2']);
$fileType = '';
switch ($typeCode)
{
 case 7790:
     $fileType = 'exe';
     break;
 case 7784:
     $fileType = 'midi';
     break;
 case 8297:
     $fileType = 'rar';
     break;
 case 255216:
     $fileType = 'jpg';
     break;
 case 7173:
     $fileType = 'gif';
     break;
 case 6677:
     $fileType = 'bmp';
     break;
 case 13780:
     $fileType = 'png';
     break;
 default:
     echo 'unknown';
}

关于怎么在php项目中对图片进行二进制转换就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


文章名称:怎么在php项目中对图片进行二进制转换-创新互联
本文地址:http://ybzwz.com/article/eosie.html