Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 不允许使用Laravel加载本地资源_Php_Laravel_Laravel 5.2 - Fatal编程技术网

Php 不允许使用Laravel加载本地资源

Php 不允许使用Laravel加载本地资源,php,laravel,laravel-5.2,Php,Laravel,Laravel 5.2,我在我的Laravel应用程序中输入了一个上载表单,文件上载并保存,但当我尝试显示它时,我得到joew:1不允许加载本地资源:file:///C:/xampp/htdocs/socialNet/public/uploads/joew.png 这是我放在filesystems.php文件中的根 'public' => [ 'driver' => 'local', 'root' => storage_path('public/uplo

我在我的Laravel应用程序中输入了一个上载表单,文件上载并保存,但当我尝试显示它时,我得到
joew:1不允许加载本地资源:file:///C:/xampp/htdocs/socialNet/public/uploads/joew.png

这是我放在filesystems.php文件中的根

'public' => [
            'driver' => 'local',
            'root' => storage_path('public/uploads'),
            'visibility' => 'public',
        ],
因此,照片被保存在存储文件夹中名为public的文件夹中

这是检索文件的函数

 public function getUserAvatar()
    {
         if ($this->username) {
          $userAvatar = User::where('username', $this->username)->value('avatar');
            return "{$userAvatar}";
        }
        if (!$user) {
            abort(404);
        }

    }
这是保存在数据库中的格式

C:\xampp\htdocs\socialNet\public\uploads\joew.png

不允许浏览器直接从硬盘加载该文件。在你看来,你可能会得到这样的结果:

您需要浏览器的URL才能访问此图像。在您看来,您需要这样的东西:

Laravel的
asset()
函数从
public
文件夹中创建一个URL,并附加您提供的参数。因此,这将创建一个URL,如:
http://localhost/public/uploads/joew.png


编辑:您指定的文件夹(存储路径)对于浏览器可能根本不可读。将上传更改为
public\u path('uploads')
,它将被访问。

谢谢,这终于有意义了,但是我使用函数像getUserAvatar()一样返回它。}”/>如果没有更多的代码,这有点困难,但是不是
返回“{$userAvatar}”;
您可以使用
返回资产('uploads/'.$user->getUserAvatar())
如果该方法仅返回化身的文件名。最后,您需要为浏览器提供一个URL,而不是文件路径。我应该指出,在配置文件中使用“URL()”和“asset()”等帮助程序会使artisan完全无用,因为它会出现故障。