Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.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_Html - Fatal编程技术网

使用PHP上传文件

使用PHP上传文件,php,html,Php,Html,我想上传文件并将其保存到我们目录中的uploads文件夹。 我是用那个代码做到的。。 但它不起作用这里有个错误 “警告:移动上传的文件(uploads/1341221475::1aaaa.text):无法打开流:第24行/var/www/html/PHP/upload\u file.PHP中的权限被拒绝警告:移动上传的文件():无法将/tmp/phpSZhm3c移到/var/www/html/PHP/upload\u file.PHP中存储在:aaaa/aaaa.text中的/var/www/h

我想上传文件并将其保存到我们目录中的uploads文件夹。 我是用那个代码做到的。。 但它不起作用这里有个错误

“警告:移动上传的文件(uploads/1341221475::1aaaa.text):无法打开流:第24行/var/www/html/PHP/upload\u file.PHP中的权限被拒绝警告:移动上传的文件():无法将/tmp/phpSZhm3c移到/var/www/html/PHP/upload\u file.PHP中存储在:aaaa/aaaa.text中的/var/www/html/PHP/upload\u file.PHP中的'uploads/1341221475::1AAAAA.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"];
                      }
            }
if($\u文件[“文件”][“错误”]>0)
{
回显“错误”。$\u文件[“文件”][“错误”]。“
”; } 其他的 { echo“NAME:”.$\u文件[“file”][“NAME”]。“
”; echo“TYPE:”.$\u文件[“file”][“TYPE”]。“
”; 回显“大小:”($_文件[“文件”][“大小”]/1024)。“KB
”; echo“存储在:“.$”文件[“文件”][“tmp_名称”]。”
“; 如果(文件存在(“aaaa/”$\u文件[“文件”][“名称”])) { echo$\u文件[“文件”][“名称”]。“已存在。”; } 其他的 { $target_path=“uploads/”; $target\u path=$target\u path.time().$\u SERVER['REMOTE\u ADDR'].basename($\u FILES['file']['name']); 移动上传的文件($文件[“文件”][“tmp文件名”],$目标路径); echo“存储在:“.aaaa/”$\u文件[“文件”][“名称”]; } }
您的web服务器是在某个用户(例如,“www”)下运行的。确保用户对uploads文件夹具有写入权限。

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

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

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

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

HTH

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

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

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

您的web服务器不太可能以root用户身份运行。例如,如果您使用的是Apache,您将以root用户身份启动它,它将在其他用户(如“www”)下生成一个进程,只需授予该文件夹的权限即可!如果您运行的是linux chmod,请单击它。这是一个简单的权限问题