Laravel 在控制器中写入相对路径

Laravel 在控制器中写入相对路径,laravel,laravel-5.3,Laravel,Laravel 5.3,上载图像时,我有以下路径: public function uploadImage() { $target_dir = 'C:\xampp\htdocs\application\public\newuploads'; ... 它工作得很好。 但是,当我上传到生产服务器时,我将其更改为: $target_dir = 'www.mywebsite.com\public\newuploads'; 这给了我一个错误: 移动上传的文件(www.mywebsite.com\publ

上载图像时,我有以下路径:

public function uploadImage()
{
     $target_dir = 'C:\xampp\htdocs\application\public\newuploads';
     ...
它工作得很好。 但是,当我上传到生产服务器时,我将其更改为:

 $target_dir = 'www.mywebsite.com\public\newuploads';
这给了我一个错误:

移动上传的文件(www.mywebsite.com\public\newuploads/1487912832)。 jpg):无法打开流:没有这样的文件或目录


如何改为写入相对路径?

根据您的生产服务器,您可能有不同的根目录。也就是说,您可以使用公共路径根,而不是使用完整的文件夹路径,例如

$target_dir = '/newuploads';

这样,如果底层操作系统和文件系统发生更改,您的站点操作将完好无损

永远不要硬编码路径。使用帮助程序获取公用目录的路径:

public_path('newuploads')

切勿对本地或实时服务器使用任何静态路径

Laravel提供了许多功能来实现这一点:

就像这样使用它:

$target_dir = public_path()."/newuploads";
在本地和现场环境中使用相同的方法

这会奏效的

有关详细信息和Laravel辅助函数,请检查以下内容:

谢谢