PHP实现接收二进制流转换成图片的方法

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP实现接收二进制流转换成图片的方法脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP实现接收二进制流转换成图片方法分享给大家供大家参考,具体如下:

这里实现PHP 接收二进制流转换成图片,所使用的图片类imageUpload.PHP如下:

<PRe class="brush:PHp;"> error_handler () ); //设置保存图片名称,若未设置,则随机产生一个唯一文件名 $this->save_name = $save_name ? $save_name : md5 ( mt_rand (),uniqid () ); //设置保存图片路径,若未设置,则使用年/月/日格式进行目录存储 $this->save_dir = $save_dir ? self::ROOT_PATH .$save_dir : self::ROOT_PATH .date ( 'Y/m/d' ); //创建文件夹 @$this->create_dir ( $this->save_dir ); //设置目录+图片完整路径 $this->save_fullpath = $this->save_dir . '/' . $this->save_name; } //兼容PHP4 public function image($save_name) { $this->__construct ( $save_name ); } public function stream2Image() { //二进制数据流 $data = file_get_contents ( 'PHP://input' ) ? file_get_contents ( 'PHP://input' ) : gzuncomPress ( $GLOBALS ['HTTP_RAW_POST_DATA'] ); //数据流不为空,则进行保存操作 if (! empty ( $data )) { //创建并写入数据流,然后保存文件 if (@$fp = foPEn ( $this->save_fullpath,'w+' )) { fwrITe ( $fp,$data ); fclose ( $fp ); $baseurl = "http://" . $_SERVER ["SERVER_NAME"] . ":" . $_SERVER ["SERVER_PORT"] . dirname ( $_SERVER ["SCRIPT_NAME"] ) . '/' . $this->save_name; if ( $this->getimageinfo ( $baseurl )) { echo $baseurl; } else { echo ( self::NOT_CORRECT_TYPE ); } } else { } } else { //没有接收到数据流 echo ( self::NO_STREAM_DATA ); } } /** * 创建文件夹 * @param String $dirName 文件夹路径名 */ public function create_dir($dirName,$recursive = 1,$mode=0777) { ! is_dir ( $dirName ) && mkdir ( $dirName,$mode,$recursive ); } /** * 获取图片信息,返回图片、高、类型、大小、图片mine类型 * @param String $imageName 图片名称 */ public function getimageInfo($imageName = '') { $imageInfo = getimagesize ( $imageName ); if ($imageInfo !== false) { $imageType = strtolower ( substr ( image_type_to_extension ( $imageInfo [2] ),1 ) ); $imageSize = filesize ( $imageInfo ); return $info = array ('width' => $imageInfo [0],'height' => $imageInfo [1],'type' => $imageType,'size' => $imageSize,'mine' => $imageInfo ['mine'] ); } else { //不是合法的图片 return false; } } /*private function error_handler($a,$b) { echo $a,$b; }*/ } ?>

脚本宝典总结

以上是脚本宝典为你收集整理的PHP实现接收二进制流转换成图片的方法全部内容,希望文章能够帮你解决PHP实现接收二进制流转换成图片的方法所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。