php获取linux的输出到文件大小_thinkphp在linux下获取文件大小报错 SplFileInfo::getSize(): stat failed for /tmp/phpSR7Dm1...

thinkphp5在win下上传图片并获取图片SIZE可以使用,但是代码上传到ubuntu下报错

`SplFileInfo::getSize(): stat failed for /tmp/phpSR7Dm1`

开始怀疑是linux下需要安装拓展GD库,但是查看后发现不是这个原因,

后来尝试在文件上传之前获取size,发现问题解决了。

```php

$file = request()->file('image');

if(empty($file) || !in_array(input('type'), array('fields'))){

return $this->err('参数错误!');

}

$size = $file->getSize();//错误原因在这里,原来是在move()后执行,在之前执行解决问题。

$valid['size'] = 2097152;//2M

$valid['ext'] = 'jpg,png,gif';

$path = config('APP_FILE_PATH').'http://static.chenls.me/chenls/uploads/'.input('type').'/';

$info = $file->validate($valid)->rule('date')->move($path);

if($info){

$fileUrl = $path.$info->getSaveName();

$image = \think\Image::open($fileUrl);

//水印

if(input('isWatermark') == 1){

$attData['is_watermark'] = 1;

$image->text(self::$weter,'./static/hplus/fonts/HYQingKongTiJ.ttf',$image->height() * 0.08,'#ffffff',9,-10)->save($path.$info->getSaveName());

}

$reback['url'] = str_replace(config('APP_FILE_PATH'),"",$fileUrl);

$attData['url'] = $reback['url'];

$attData['storage'] = 'local';

$attData['imagewidth'] = $image->width();

$attData['imageheight'] = $image->height();

$attData['filesize'] = $size/1024;

$attData['imagetype'] = $image->type();

$attData['mimetype'] = $image->mime();

$Attachment->save($attData);

return $this->suc($reback);

}else{

return $this->err($file->getError());

}

```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值