2012-12-30 36 views
0

我试图通过标记获取图像文件名,但是当我通过isset($ _ FILES ['imgFile'])检查它时,它总是返回false。<input type = file>没有获取图像

这里是我得到的图像文件的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"; 
} 

它总是产生“图像未设置”好像我输出选择了一张图片。

+0

向我们展示您的html表格 – GBD

+0

什么是您的表单enctype? – scragar

回答

3

您是否在窗体上使用了正确的enctype?

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

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

+0

雅我忘了把它.... – Dhwani

2

只需使用:

enctype="multipart/form-data" 
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"在其他答案中提到的形式。

+0

我的php代码是在同一页上,但它仍然给我错误,因为我没有写enctype =“multipart/form-data”。 – Dhwani