2

我对 PHP 很陌生,所以请原谅这样的基本问题。

我正在为我的网站制作一个表单,该表单有几个文本输入,但现在我正在实现图像上传功能,但我在离开底层时遇到了麻烦。

在我的表格中,我有:

<form id="generalform" class="container" method="POST"  action="process.php" autocomplete="on" enctype="multipart/form-data" >

<several text inputs here that work>

<input type="file" class="fileuploadinput" name="Image1">
<input type="submit" name="submit" id="submit" class="button" value="Submit"/>
</form>

但我的脚本:

if(!empty($_POST['Image1'])) {  
                    echo 'File Selected and Data set in DB';
                    } else {
                        echo 'NO File Selcted but Data Inserted';                   

                    }

总是回显没有选择文件但插入数据,它确实将文本数据插入数据库,但为什么它不拾取图像而是告诉我没有选择图像(通过我的错误消息“'未选择文件但插入数据” )??

如果有人可以帮助我,我将不胜感激,我提前感谢大家。

4

1 回答 1

2

您上传的文件将无法通过 $_POST 超全局访问。它们可以通过$_FILES superglobal访问。

这应该有效:

if(file_exists($_FILES['Image1']['tmp_name']) && is_uploaded_file($_FILES['Image1']['tmp_name'])) {
    echo 'File Selected and Data set in DB';
} 
else {
    echo 'NO File Selcted but Data Inserted';                   
}

file_exists()检查文件是否存在,is_uploaded_file()检查相关文件是否通过 HTTP POST(在本例中为您的表单)上传。

我对你的输出有点困惑。你是什​​么意思:

未选择文件但插入数据

于 2013-03-29T12:41:52.580 回答