Php 777文件夹上的移动\u上载\u文件权限被拒绝

Php 777文件夹上的移动\u上载\u文件权限被拒绝,php,laravel,upload,Php,Laravel,Upload,以下是我在尝试通过ajax上传时收到的错误: move_uploaded_file(/public/assets/uploads/photodune-5351272-asian-traditional-bell-l.jpg): failed to open stream: Permission denied 我的上载文件夹已使用chmod设置为777。这是我的文件夹的状态: drwxrwxrwx 2 ec2-user ec2-user 4096 Jun 20 10:46 uploads 以下

以下是我在尝试通过ajax上传时收到的错误:

move_uploaded_file(/public/assets/uploads/photodune-5351272-asian-traditional-bell-l.jpg): failed to open stream: Permission denied
我的上载文件夹已使用chmod设置为777。这是我的文件夹的状态:

drwxrwxrwx 2 ec2-user ec2-user 4096 Jun 20 10:46 uploads
以下是我在PHP端使用的代码:

if (Input::hasFile('file')) {

    $storeFolder = '/assets/uploads/';

    if (!empty($_FILES)) {
        $tempFile = $_FILES['file']['tmp_name'];
        $targetPath = public_path() . $storeFolder;
        $targetFile =  $targetPath. $_FILES['file']['name'];
        move_uploaded_file($tempFile, $targetFile);

        echo $targetPath . " / " . $targetFile;
    }

} else {
    echo "There has been an error in creating the file";
}
为什么我在尝试使用move_uploaded_文件时仍会被拒绝权限


为了进行测试,您可以从这里看到文件上载和错误:

出于某种原因,资产文件夹也需要设置为775,而laravel本身必须这样做:./composer.phar dumpautoload


完成此操作后,一切正常

移动上传的文件夹
?你这是什么意思<代码>移动上传的文件夹不是一个函数,还是一个基于Laravel的函数?不要使用此代码。您直接使用的是
['name']
,恶意用户可以利用它在服务器上任意位置涂鸦他们的文件。您似乎根本没有验证上传,只是假设上传成功,或者首先执行了上传。我使用此语句检查文件是否已上载:if(Input::hasFile('file'))。当我得到要实际上传的文件时,我将添加验证和清理代码。移动上传的文件夹应该是移动上传的文件。大脑无处不在。我记得昨天看到一个类似的问题,使用
public\u path()
是问题所在,给出答案的人建议
asset
等等。只是记不清所有细节。弗雷德,这不是问题,实际上,我没有使用任何函数就给出了完整的路径,它仍然给出了与公共路径()相同的响应。资产,它给你一个html URL,而不是服务器上的本地路径。