gpt4 book ai didi

php - laravel 5 ->getRealPath() 不显示正确的值

转载 作者:可可西里 更新时间:2023-11-01 13:26:05 27 4
gpt4 key购买 nike

在我的本地开发中,我使用了下面显示的代码,它运行良好,

但是当我将网站上传到我的共享主机时,除了我的文件上传外,一切都运行良好。我已经确定问题涉及->getRealPath(),当我 dd(); 时,我得到了这条路径:/data/sites/web/christophvhbe/tmp

我的主机上不存在。但是我找到了临时图像存储在我的主机上的位置,它位于此处的 tmp/ 中:http://gyazo.com/e0199718324119109a4ff66321414e12 .

如何将 ->getRealPath() 值更改为正确的值?

$fileName = time() . '-' . $request->file('foto')->getClientOriginalName();
$product->foto = $fileName;
$product->save();

$imagePath = '/images/producten/'. $fileName;

$image = Image::make($request->file('foto')->getRealPath())->fit(300)->save($imagePath);

我正在使用 Image/intervention 包来上传和存储图像。

最佳答案

您帐户的根目录很可能是 /data/sites/web/christophvhbe,并且 getRealPath 是完全准确的(您在 FTP 中看到的可能是 chrooted) .结果,您的 $imagePath 实际上是问题所在。

$imagePath = '/data/sites/web/christophvhbe/images/producten/'. $fileName;

或者,更好的是,使用 Laravel 的 base_path 和/或 public_path 助手,这样如果您更改托管,它会在路径更改时继续工作:

$imagePath = public_path() . '/images/producten/' . $fileName;

如果您查阅错误日志,我敢打赌您会发现尝试在服务器的 /images 目录中创建文件时出现权限错误,而在共享主机上您肯定无法创建该文件或访问。

关于php - laravel 5 ->getRealPath() 不显示正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30970532/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com