0

我有一个烦人的问题。当我使用 method="post" 提交以下代码并查找 $_POST 变量时,代码无法识别它。当我切换到 method="get" 并查找 $_GET 变量时,它工作正常。我宁愿不使用Get。有什么建议么?我的最终代码也将包含其他输入,但是,我希望文件输入是可选的。因此,仅当实际发送文件输入时,我才需要处理代码。谢谢你的帮助!

 //form.html.php
<form action="index.php" method="post" enctype="multipart/form-data">
<label id="upload">Select file to upload:
<input type="file" id="upload" name="foobar" /></label>
<input type="submit" value="Submit" />
</form>

//index.php
if(isset($_POST['foobar']))
{
//some code
}

但是,这很好用

//form.html.php
<form action="index.php" method="get" enctype="multipart/form-data">
<label id="upload">Select file to upload:
<input type="file" id="upload" name="foobar" /></label>
<input type="submit" value="Submit" />
</form>

//index.php
if(isset($_GET['foobar']))
{
//some code
}
4

2 回答 2

6

要获取文件,请使用$_FILES,并且必须使用post方法。

于 2012-05-31T15:56:16.937 回答
1

您正在上传文件,除了“文件”类型输入之外没有任何输入。因此将不会有任何 $_POST 值发送到 $_FILES 数组。并且您的表单需要设置 method="post" 。

检查此代码

echo "Upload: " . $_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"];
于 2012-05-31T15:57:21.473 回答