Php file\u put\u content()文件权限错误

Php file\u put\u content()文件权限错误,php,file-upload,file-permissions,Php,File Upload,File Permissions,在我的代码中,我发送url编码的图像,并使用文件内容将其转换为文件 if(file_put_contents($arg['org_file'],$decodeData)) { chmod($arg['org_file'],777); $arg = Model_Photo::_convert_png_to_jpg($arg); //reduce file \Fuel\Core\Image::load($arg['or

在我的代码中,我发送url编码的图像,并使用文件内容将其转换为文件

    if(file_put_contents($arg['org_file'],$decodeData))
    {
        chmod($arg['org_file'],777);
        $arg = Model_Photo::_convert_png_to_jpg($arg);

        //reduce file
        \Fuel\Core\Image::load($arg['org_file'])
                ->config('quality',80)
                ->resize($arg['width'])
                ->save($arg['org_file'],755);
当我的执行得到上面的代码时。带有Image::Load的部件出现此错误

Fuel\Core\PhpErrorException [ Warning ]:
getimagesize(/www/my.website.com/public/uploads/2013-11-18/4511582301f8b92b08aad0b8e.jpg): failed to open stream: Permission denied
您可以看到,我将创建的文件chmod为777,但是查看控制台,权限不是777

--wxrw--wt 1 apache apache 291301 Nov 18 18:07 4511582301f8b92b08aad0b8e.jpg

由于没有读操作,我在处理文件时遇到了问题。我做了chmod,但它不起作用,所以我想我遗漏了一些东西。请帮忙,谢谢

嗯,just
777
与*nix使用的八进制表示法不同。您需要添加
0
前缀以指示数字是八进制的

chmod($arg['org_file'], 0777);
更新

调用
->save()
:

举例说明:

777=1100001001(01411)
0777 =  111111111

好吧,只是
777
与*nix使用的八进制表示不同。您需要添加
0
前缀以指示数字是八进制的

chmod($arg['org_file'], 0777);
更新

调用
->save()
:

举例说明:

777=1100001001(01411)
0777 =  111111111

Try
chmod($arg['org\u file'],0777)

尝试
chmod($arg['org\u file'],0777)

对不起,它正在工作,然后我重新确认它是我本地的项目副本。无论如何,它不起作用。错误中未显示任何更改->保存($arg['org\u file'],755)是罪魁祸首。把它改成0777,它就工作了。我会改变一些事情。谢谢。@MrA我不知道
->save()
的最后一个参数也是一个权限。。。我很高兴我的回答对这两个方面都有效:)对不起,它是有效的,然后我重新意识到它是我本地的项目副本。无论如何,它不起作用。错误中未显示任何更改->保存($arg['org\u file'],755)是罪魁祸首。把它改成0777,它就工作了。我会改变一些事情。谢谢。@MrA我不知道
->save()
的最后一个参数也是一个权限。。。不过,我很高兴我的回答对双方都有效:)