laravel不会在服务器

时间:2018-03-15 01:12:00

标签: php laravel

我可以在本地工作时上传我的图片但是当我将我的网站移到主机上时,它不会上传图片,同时在数据库中获取它们的名称,

我的filesystems.php

'default' => env('FILESYSTEM_DRIVER', 'local'),
disks' => [

        'local' => [
            'driver' => 'local',
            'root' => public_path('images/'),
        ],
....

我的上传代码示例:

if ($request->hasFile('imageOne')) {
  $imageOne = $request->file('imageOne');
  $filename = 'productone' . '-' . time() . '.' . $imageOne->getClientOriginalExtension();
  $location = public_path('images/');
  $request->file('imageOne')->move($location, $filename);
  $product->imageOne = $filename;
}

问题:

  

在主持人中,我上传了image name in database,但我没有上传图片   public/images文件夹。

任何想法?

更新

我在主机中找到了有趣的文件夹,因为我将所有public文件夹文件移动到服务器public_html,现在它在我的根目录中创建了另一个名为public的文件夹,其中包含images 1}}文件夹,包括我目前上传的所有图片!

问题:

  1. 为什么laravel在我的root中创建了新的public/images文件夹,而不是 使用我的public_html
  2. 如何解决?

2 个答案:

答案 0 :(得分:1)

解决

我已将此代码添加到我的public_html/index.php文件中,并且现在正在使用。

// set the public path to this directory
$app->bind('path.public', function() {
    return __DIR__;
});

希望它有所帮助。

答案 1 :(得分:-2)

我将保存图像控制器内的公共路径更改为如下形式:

if (request()->imagefile->move(public_path('../../public_html/destination'), $imageName))
     echo "Yap";
else echo "Nop";