使用laravel5上传图片问题move时,提示XXX.tmp文件不存在问题

本文介绍了在使用laravel5上传图片时遇到的‘XXX.tmp’文件不存在问题及其解决方法。在图片上传过程中,首先检查图片格式是否允许,然后将图片重命名并保存到指定路径。通过将`move`方法替换为`Storage::disk()->put`,成功解决了文件上传失败的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
 * 图片上传
 * @param $request
 * @param string $field
 * @return array
 */
function upload_image($request, $field = 'image') {

    $file = $request->file($field);
    if ($file->isValid()) {
        $extension = $file->getClientOriginalExtension(); //获取上传图片的后缀名
        if (!in_array(strtolower($extension), ['pdf', 'jpg', 'jpeg', 'png'])) {
            return ['code' => 202, 'data' => null, 'msg' => '图片格式只允许pdf,jpg,jpeg,png'];
        }
        $date = date('Y-m-d');
        $fileName = $date . '/' . md5(time()) . random_int(5,5) . "." . $extension; //5、重新命名上传文件名字
        $realPath = $file->getRealPath();   //临时文件的绝对路径
        $bool = Storage::disk('admin')->put($fileName, file_get_contents($realPath));//解决方式 换成 Storage::disk('')->put()
        if ($bool) {
            return ['code' => 200, 'data' => '/' .$fileName, 'msg' => '图片上传成功'];
        }
        return ['code' => 202, 'data' => $file, 'msg' => '图片上传失败'];
    } else {
        return ['code' => 202, 'data' => null, 'msg' => '图片上传失败'];
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值