很早时候写的一些 上传功能,现在都换成 对象存储 了,基本不用原生的了;
跨域上传图片; php 附件上传
备份一下:
<?
/**
* 上传压缩文件
*/
public function uploadzip()
{
// 获取表单上传文件 例如上传了001.jpg
$file = request()->file('file');
$path = 'uploads';
// 移动到框架应用根目录/uploads/ 目录下
$info = $file->validate(['size' => 20 * 1024 * 1024, 'ext' => 'zip,rar,7z'])->move($path);
if ($info) {
$name = $info->getInfo('name');
$size = $info->getInfo('size');
$ext = $info->getExtension();
$fileurl = $path . '/' . $info->getSaveName();
$data = [
'content' => $fileurl,
'name' => $name,
'size' => $size,
'ext' => $ext,
];
$this->success('ok', '', $data);
}
}
//删除附件
public function deletezip()
{
$content = Request::post('content', '');
$path = Env::get('root_path') . 'public/' . $content;
if (file_exists($path)) {
unlink($path);
$this->success('操作成功');
} else {
$this->error('操作失败' . $path);
}
}
/**
* 跨域上传图片
*/
public function cros_img()
{
// header('Access-Control-Allow-Origin: *'); 无限制
// header('Access-Control-Allow-Origin: http://XXX.XXX.cn');
// 允许跨域的origin白名单, 为空则允许所有origin跨域
$allowOrigin = config('app.allow_origin');
// 跨域访问的时候才会存在该字段
$origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '';
// 有配置白名单且当前origin在白名单
if (in_array($origin, $allowOrigin)) {
header("Access-Control-Allow-Origin:" . $origin);
}
header('Access-Control-Allow-Methods: GET, POST');
header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization');
header('Access-Control-Allow-Credentials: true');
// 获取表单上传文件 例如上传了001.jpg
$file = request()->file('file');
$path = 'uploads';
// 移动到框架应用根目录/uploads/ 目录下
$info = $file->validate(['size' => 5 * 1024 * 1024, 'ext' => 'jpeg,jpg,png,gif,bmp'])->move($path);
if ($info) {
// 成功上传后 获取上传信息
// 输出 jpg
$ext = $info->getExtension();
// 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
$fileurl = $path . '/' . $info->getSaveName();
$thumb = getImgThumbUrl($fileurl);//生成缩略图
// 输出 42a79759f284b767dfcb2a0197904287.jpg
// echo $info->getFilename().'<br/>';
$name = $info->getInfo('name');
$size = $info->getInfo('size');
$data = [
'content' => $fileurl,
'thumb' => $thumb?$thumb:'',
'name' => $name,
'size' => $size,
];
return json(['code' => 1, 'msg' => '上传成功!', 'data' => $data]);
} else {
// 上传失败获取错误信息
return json(['code' => 0, 'msg' => '上传失败!' . $file->getError(), 'data' => '']);
}
}
文章来源:刘俊涛的博客 欢迎关注公众号、留言、评论,一起学习。
若有帮助到您,欢迎捐赠支持,您的支持是对我坚持最好的肯定(_)
标签:info,name,UPLOAD,file,path,PHP,上传,size From: https://www.cnblogs.com/lovebing/p/16602331.html