使用PHP上传文件

时间:2012-07-02 09:34:53

标签: php html

我想上传文件并将其保存到我们目录中的uploads文件夹中。 我已经通过使用该代码完成了.. 但它不起作用..有一个错误..

“警告:move_uploaded_file(uploads / 1341221475 :: 1aaaa.text):无法打开流:第24行/var/www/html/PHP/upload_file.php中的权限被拒绝警告:move_uploaded_file():无法移动第24行/var/www/html/PHP/upload_file.php中的'/ tmp / phpSZhm3c'到'uploads / 1341221475 :: 1aaaa.text'存储于: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 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

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

HTH

答案 3 :(得分:0)

确保您的uploads文件夹具有完整权限,以便您可以将文件移入其中。

尝试chmod 777 -R到uploads目录。例如:

 $ sudo chmod 777 -R /var/www/html/PHP/uploads/