0

我试图通过标签获取图像文件名,但是当我通过 isset($_FILES['imgFile']) 检查它时,它总是返回 false。

这是我用于获取图像文件的 HTML 标记:

<input type="file" name="imgFile" accept="image/*" id="imgFile" src=""/>

这是我的 php 代码来检索它:

if(isset($_FILES['imgFile']))
{
  $img = $_FILES['imgFile']['name'];
  echo $img";
}
else
{
  echo "Image not set";
}

尽管我选择了图像,但它总是生成“图像未设置”作为输出。

4

3 回答 3

4

您是否在表单上使用了正确的编码类型?

<form enctype="multipart/form-data">

使用文件上传元素时,这是必需的。

于 2012-12-30T11:00:23.980 回答
2

只需使用:

enctype="multipart/form-data"
于 2012-12-30T11:02:57.647 回答
0

说这是你的表格:

<form action="same_page.php" method="post" enctype="multipart/form-data">
    <input type="file" name="imgFile" accept="image/*" id="imgFile" src=""/>
    <input type="submit" name="upload" value="Upload" />
</form>

并且您用于检索图像名称的 php 代码位于表单所在的同一页面中,那么您的代码应如下所示:

<?php
if (isset($_POST["upload"])) {
    if (isset($_FILES['imgFile'])) {
        $img = $_FILES['imgFile']['name'];
        echo $img;
    } else {
        echo "Image not set";
    }
}
?>

但是如果您的php代码在另一个页面中,那么您只需要以enctype="multipart/form-data"其他答案中提到的形式使用。

于 2012-12-30T11:25:55.120 回答