繁体   English   中英

$_Files 为空 php 8 上传新手问题

[英]$_Files is empty in php 8 upload newbie question

我正在尝试学习一点 php 和 html。 今天我做了我的第一次文件上传。 但是数组 $_FILES 接缝为空/null。 如果我尝试访问它,我会收到一个错误,即找不到我的密钥。

apache 日志接缝正常:

192.168.1.79 - - [26/May/2021:13:36:13 +0000] "GET /buchdemo/hochladen.php?upfile=test.txt&hochladen=Senden HTTP/1.1" 200 565 "http://192.168.1.96/buchdemo/hochladen.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.1 Safari/605.1.15"

但是 PHP 代码没有进入第一个 if

<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
   
    
    <body>
         <h2> Upload </h2>
          <?php
          if (!empty($_FILES))
          {
              if (count($_FILES)>0)
                {
                    for ($i=0; $i<count($_FILES); $i++)
                    {
                        echo $i ."<br>"; 
                        echo $_FILES[$i];
                    }
                }
                else
                {
                    echo "keine Daten";
                }

                if ($_FILES["upfile"]["size"]>0)
                {
                    echo '$_FILES["upfile"]["tmp_name"]';
                    $info = $_FILES["upfile"]["tmp_name"];
                    copy($_FILES["upfile"]["tmp_name"], $info);
                }
          }
        
        ?>
         <form action="hochladen.php" action="post" enctype="multipart/form-data">
             <p> <input name="upfile" type="file"></p>
             <p> <input type="submit" name="hochladen"></p><br>
         </form>
       
    </body>
</html>

正如 Musa 所指出的,您需要将表单方法设置为 POST。 现在您正在设置要发布的操作。

  • action 属性定义了表单提交时表单数据的发送位置。

  • method 属性定义了表单数据的发送方式。

要在 PHP 中上传文件,您需要使用 POST 或 PUT 方法( https://www.php.net/manual/en/features.file-upload.post-method.ZE1BFD762321E409CEECZ4AC0B6

所以代码应该是:

<form action="hochladen.php" method="post" enctype="multipart/form-data">
   <p> <input name="upfile" type="file"></p>
   <p> <input type="submit" name="hochladen"></p><br>
</form>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM