0

我想上传文件并将其保存到我们目录中的上传文件夹中。我已经通过使用该代码来做到这一点..但它不起作用..这是一个错误..

“警告:move_uploaded_file(uploads/1341221475::1aaaa.text):无法打开流:第 24 行 /var/www/html/PHP/upload_file.php 中的权限被拒绝警告:move_uploaded_file():无法移动'/tmp /phpSZhm3c' to 'uploads/1341221475::1aaaa.text' in /var/www/html/PHP/upload_file.php on line 24 存储在:aaaa/aaaa.text”

请帮忙

代码 :

            if($_FILES["file"]["error"] > 0)
            {
                echo "ERROR ".$_FILES["file"]["error"]."<br>";
            }
            else
            {
                echo "NAME : ".$_FILES["file"]["name"]."<br>";
                echo "TYPE : ".$_FILES["file"]["type"]."<br>";
                echo "SIZE : ".($_FILES["file"]["size"]/1024)."KB<br>";
                echo "Stored in : ".$_FILES["file"]["tmp_name"]."<br>";
                if (file_exists("aaaa/" . $_FILES["file"]["name"]))
                      {
                    echo $_FILES["file"]["name"] . " already exists. ";
                      }
                else
                      {
                $target_path = "uploads/";
                    $target_path = $target_path . time() . $_SERVER['REMOTE_ADDR'] . basename( $_FILES['file']['name']);
                      move_uploaded_file($_FILES["file"]["tmp_name"],$target_path);
                      echo "Stored in: " . "aaaa/" . $_FILES["file"]["name"];
                      }
            }
4

4 回答 4

0

每当您使用代码编写文件时,运行代码的用户都应该具有权限。在这种情况下,启动 apache 网络服务器的人应该有权写入该文件夹。使用 chmod 命令指定权限。

如果您不太担心安全性,您可以像这样向上传文件夹提供 777。假设您的上传文件夹在 /var/www/html/site/uploads 中,然后运行

chmod -R 777 /var/www/html/site/uploads

高温高压

于 2012-07-02T10:20:09.063 回答
0

您的 Web 服务器在某个用户下运行(例如,“www”)。确保用户对上传文件夹具有写入权限。

于 2012-07-02T09:38:07.693 回答
0

授予 Apache(例如)作为输出目录所有者的权限,然后它将能够创建文件。

于 2012-07-02T10:10:48.473 回答
0

确保您的上传文件夹具有完全权限,以便您可以将文件移动到其中。

尝试chmod 777 -R上传目录。例如:

 $ sudo chmod 777 -R /var/www/html/PHP/uploads/
于 2012-07-02T10:22:54.473 回答