Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/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
Image Can';t将图像数据写入path laravel live项目_Image_Laravel_Upload - Fatal编程技术网

Image Can';t将图像数据写入path laravel live项目

Image Can';t将图像数据写入path laravel live项目,image,laravel,upload,Image,Laravel,Upload,在我的项目中,用户可以上传个人资料图片,如果他们不上传,则会有默认图片。我在我的Laravel项目中使用它,并且100%有效。现在我已经在线主持了我的项目,它不允许我上传个人资料图片,但会选择默认图片。我不知道为什么。我收到的错误消息是: 干预\Image\Exception\notwriteableexception无法将图像数据写入路径(/home/n1huer/laravel/public/uploads/avatars/1525256072.png) 我的控制器是 public fun

在我的项目中,用户可以上传个人资料图片,如果他们不上传,则会有默认图片。我在我的Laravel项目中使用它,并且100%有效。现在我已经在线主持了我的项目,它不允许我上传个人资料图片,但会选择默认图片。我不知道为什么。我收到的错误消息是:

干预\Image\Exception\notwriteableexception无法将图像数据写入路径(/home/n1huer/laravel/public/uploads/avatars/1525256072.png)

我的控制器是

public function update_avatar(Request $request)
{
    if($request->hasFile('avatar')){
        $avatar = $request->file('avatar');
        $filename = time() . '.' . $avatar->getClientOriginalExtension();
        Image::make($avatar)->resize(300,300)->save( public_path('/uploads/avatars/' . $filename) );

        $user = Auth::user();
        $user->avatar = $filename;
        $user->save();
        
    }
    return view('myaccount', array('user' => Auth::user()) );
}
如果选择默认路径,则文件路径必须正确


任何帮助都将不胜感激,谢谢

您需要使“/uploads/avatars/”可写,因为错误表明它不可写

登录到远程服务器(或使用控制面板)并更改您尝试写入的文件夹的权限:

chmod 755 /home/n1huer/laravel/public/uploads/avatars

另一方面, 我将进一步查看公用文件夹和权限:

以下是一些好的建议:

此外,请查看官方文件:


您需要使“/uploads/avatars/”可写,因为错误是说它不可写

登录到远程服务器(或使用控制面板)并更改您尝试写入的文件夹的权限:

chmod 755 /home/n1huer/laravel/public/uploads/avatars

另一方面, 我将进一步查看公用文件夹和权限:

以下是一些好的建议:

此外,请查看官方文件:


您也可以使用该命令

sudo chmod-ra+rwx/path/to/folder

授予文件夹及其内部每个文件和文件夹的权限。如果不希望文件可执行,请从任一命令中省略
x

尽情享受你的灵魂


快乐编码…

您也可以使用该命令

sudo chmod-ra+rwx/path/to/folder

授予文件夹及其内部每个文件和文件夹的权限。如果不希望文件可执行,请从任一命令中省略
x

尽情享受你的灵魂

快乐编码…

对于出现此问题的用户: 首先,您需要知道为什么会出现此问题

-看到这条路了吗 这条路就是这样考虑的

但它在这里的目的是在这一点上的实际情况

这就是上述消息出现问题的原因

要解决此问题,您只需完成以下操作

来吧,这部分

->保存(公共路径('/uploads/avatars/'.$filename))

然后用这个代码替换它,变成这样

->保存(“./uploads/avatars/”.$filename)

这样,问题就解决了,而不需要做任何其他可能会留下另一个问题的事情 首先,您需要知道为什么会出现此问题

-看到这条路了吗 这条路就是这样考虑的

但它在这里的目的是在这一点上的实际情况

这就是上述消息出现问题的原因

要解决此问题,您只需完成以下操作

来吧,这部分

->保存(公共路径('/uploads/avatars/'.$filename))

然后用这个代码替换它,变成这样

->保存(“./uploads/avatars/”.$filename)


这样,问题就解决了,而不需要做任何其他可能会留下另一个问题的事情。

我在使用图像干预库时也遇到了同样的问题。它在我的本地机器上运行得很好,但在aws Ubento机器上它给出了这个错误。我尝试了很多方法,但最后我决定这一切都是关于许可问题。我使用下面的代码从
$request
保存图像,然后调整其大小,然后将其保存在
公共
目录下的
配置文件
文件夹中

$img=Image::make($avatar)->resize(300,300);
$img->save(public_path('profile/' .$file_storage_name));
我在我的
aws
my
profile
文件夹中看到的内容由
root
用户拥有和分组。因此,我使用
sudo chown-R 1000:1000 profile
更改了所有权,然后使用
sudo chgrp www-data profile
更改了组,然后使用
chmod 775 profile
授予文件夹读、写和执行权限。然后,神奇,它工作了。如下图所示

我在使用图像干预库时也遇到同样的问题。它在我的本地机器上运行得很好,但在aws Ubento机器上它给出了这个错误。我尝试了很多方法,但最后我决定这一切都是关于许可问题。我使用下面的代码从
$request
保存图像,然后调整其大小,然后将其保存在
公共
目录下的
配置文件
文件夹中

$img=Image::make($avatar)->resize(300,300);
$img->save(public_path('profile/' .$file_storage_name));
我在我的
aws
my
profile
文件夹中看到的内容由
root
用户拥有和分组。因此,我使用
sudo chown-R 1000:1000 profile
更改了所有权,然后使用
sudo chgrp www-data profile
更改了组,然后使用
chmod 775 profile
授予文件夹读、写和执行权限。然后,神奇,它工作了。如下图所示

我在航站楼做这个吗?那么,当我再次托管它时,它会工作吗?您将需要更改远程计算机上的权限我在终端上这样做吗?那么,当我再次托管它时,它会工作吗?您需要更改远程计算机上的权限
$img=Image::make($avatar)->resize(300,300);
$img->save(public_path('profile/' .$file_storage_name));