Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.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 上载文件权限_Php - Fatal编程技术网

Php 上载文件权限

Php 上载文件权限,php,Php,我有如下PHP代码: <?php ini_set('display_errors', true); error_reporting(E_ALL); $error = array(); if (isset($_POST['submit'])) { $dir = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'upload'; if (!empty($_FILES)) { $tmp = $_FILES['file']['t

我有如下PHP代码:

<?php
ini_set('display_errors', true);
error_reporting(E_ALL);

$error = array();
if (isset($_POST['submit'])) {
    $dir = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'upload';
    if (!empty($_FILES)) {
        $tmp = $_FILES['file']['tmp_name'];
        $file = $dir . DIRECTORY_SEPARATOR . $_FILES['file']['name'];
        if (is_uploaded_file($tmp)) {
            if (!chown($dir, 'nobody')) {
                $error[] = 'Owner tidak bisa di replace!';
            }
            if (!chmod($dir, intval(755, 8))) {
                $error[] = 'Direktori "' . $dir . '" tidak bisa diberi akses!';
            }
            if (!move_uploaded_file($tmp, $file)) {
                $error[] = 'Gagal memindahkan berkas "' . $file . '"';
            }
            if (file_exists($file)) {
                $error[] = 'Berhasil di unggah! ' . $file;
            }
        } else {
            $error[] = 'Berkas tidak bisa di unggah.';
        }
    }
}
?>

这里发生了什么事?

转到终端,然后键入:

chmod -R 775 /your/upload/folder/path

然后设置写入此目录的权限

您应该验证文件权限和文件所有者

要更改文件权限,请执行以下操作:

chmod -R 775 /var/www/html/jdih
并将所有者设置为运行apache服务器的用户

chown www-data:www-data /var/www/html/jdih

注意:所有者取决于您的发行版,在Ubuntu上它是
www-data
,可能是
httpd
http
或其他内容。

看起来像是文件夹权限问题。您可能需要
chmod
具有正确写入权限的文件夹。似乎您没有执行
chowm
chmod()
的权限查看相关问题---------------------------------------------------------------------------------->仍显示错误。。。警告:chown():第23行/var/www/html/jdih/upload.php中不允许操作警告:chmod():第24行/var/www/html/jdih/upload.php中不允许操作警告:移动上传的文件(/var/www/html/jdih/upload/06 naiveBayes example.pdf):无法打开流:第25行的/var/www/html/jdih/upload.php中的权限被拒绝警告:move_upload_file():无法将“/tmp/phpwxDnR9”移动到第25行的/var/www/html/jdih/upload/06 naiveBayes example.pdf”中的“/var/www/html/jdih/upload.php”,您还可以更改文件夹的所有者,chown-R groupname/pathFolder使用chmod 777上载路径时,成功上载文件,但chmod 755无法上载文件。。。什么是最好的解决方案?请仔细阅读,我写了
chmod775
。您必须验证上传路径的所有者是否与运行apache的用户相同。使用
ls-l
查看文件的所有者。并在apache配置文件中搜索运行apache的用户。
chown www-data:www-data /var/www/html/jdih