重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇内容主要讲解“php数据流如何转化为图片”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php数据流如何转化为图片”吧!
创新互联从2013年开始,先为鄯善等服务建站,鄯善等地企业,进行企业商务咨询服务。为鄯善企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
php数据流转化为图片的方法:1、创建一个PHP示例文件;2、通过“class imageUpload {...}”方式定义一个图片类;3、通过“public function image($save_name) {...}”方法创建并写入数据流;4、通过“getimageInfo”方法获取图片信息即可。
php 数据流怎么转化为图片?
php 接收二进制流转换成图片
php 接收二进制流转换成图片,图片类imageUpload.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数据流如何转化为图片”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!