封装图片处理方法
2018-12-17 10:49:02来源:博客园 阅读 ()
案例一:小程序的图片处理
$file = request()->file('uploadimg'); //接收图片 //创建图片存放位置 $upload_dir = ROOT_PATH . 'public/upload/images/'; if (!file_exists($upload_dir)) { mkdir($upload_dir, 0755, true); } if ($file) {
// 移动到框架应用根目录/public/uploads/ 目录下 $info = $file->rule('date')->move($upload_dir); if ($info) { //获取文件名 $image_name = $info->getSaveName(); $fileurl = '/upload/images/'. $image_name; return $fileurl; } }else{ echo "错误"; }
案例二:base64图片处理方法
class Image extends Base
{
public function addimage($file = 'images')
{
$img_url = input('avatar') ? input('avatar') : "";
if ($img_url) {
//如果是http格式的不需要处理直接返回
if (substr($img_url, 0, 4) == 'http') {
$src = $img_url;
return $src;
exit;
} else {
//处理图片
$image_arr = explode(',', $img_url);
$img_data = $image_arr[1];
$img = str_replace(' ', '+', $img_data);
$fileData = base64_decode($img);
$image_name = uniqid() . '.png'; //返回13位字符串
$upload_dir = ENV::get('root_path') . 'public/upload/' . $file . '/';
if (!file_exists($upload_dir)) {
mkdir($upload_dir, 0755, true);
}
$filedir = $upload_dir . '/' . $image_name;
$src = config('website') . '/upload/' . $file . '/' . $image_name;
$status = file_put_contents($filedir, $fileData);
if ($status) {
return json(['status' => 1, 'data'=>$src,'msg' => '操作成功']);
exit;
} else {
echo "0";exit;
}
}
} else {
return json(['status' => 0,'data'=>'', 'msg' => '请选择正确的图片格式!']);
}
}
}
案例三:视频转mp4格式的处理
$video_url = input('video'); //商品视频
$uid = input('uid'); //用户身份id
if($video_url){
$video_arr = explode( ',', $video_url );
$video_data = $video_arr[1];
$video = str_replace( ' ', '+', $video_data );
$fileData = base64_decode( $video );
//设置文件保存位置,若文件夹不存在 则创建文件夹
$video_name = $uid.time() . '.mp4';
$upload_dir = ENV::get('root_path') . 'public/upload/product_video/';
if ( ! file_exists( $upload_dir ) ) {
mkdir( $upload_dir, 0755, true );
}
//保存地址
$filedir = $upload_dir . '/' . $video_name;
//视频链接
$fileurl = config( 'website' ) . '/upload/product_video/'. $video_name;
//保存到服务器
$status = file_put_contents( $filedir, $fileData );
//确认是否保存到服务器
if($status){
//设置视频缩略图名字
$tmp_name = uniqid();
//执行linux ffmpeg命令 $fileurl 为视频可访问链接 最后一个参数是图片服务器保存路径
$linux = "ffmpeg -i $filedir -r 1 -f image2 /www/wwwroot/qmh/public/upload/video_img/".$tmp_name.'.jpg';
exec($linux); //没有执行
//定义视频缩略图链接 返回视频链接和缩略图链接
$url = config( 'website' ) . '/upload/video_img/' . $tmp_name.'.jpg';
$url = $linux;
// return json(['video_url'=>$fileurl,'img_url'=>$url]);
return json(['status' => 1,'data'=>['video_url'=>$fileurl,'img_url'=>$url],'msg' => '视频上传成功'],200);
}else{
return json(['status' =>0,'data'=>'','msg' => '视频上传失败'],200);
}
}
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- php 带逗号千位符数字的处理方法 2020-03-28
- PHP错误和异长常处理总结 2020-03-04
- php判断文件上传图片格式的实例详解 2020-02-17
- php生成条形码的图片的实例详解 2020-01-17
- PHP+redis实现添加处理投票的方法 2019-12-25
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash