我对 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';
}
总是回显“没有选择文件但已插入数据”,并且它确实将文本数据插入到数据库中,但为什么它不拾取图像并告诉我没有选择图像(通过我的错误消息“'没有选择文件但数据已插入”)??
如果有人可以帮助我,我将不胜感激,并提前感谢大家。
最佳答案
您上传的文件将无法通过 $_POST super 全局访问。您可以通过 $_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 上传(在本例中为您的表单)。
我对你的输出有点困惑。你的意思是:
NO File Selcted but Data Inserted
关于PHP 处理脚本未拾取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15703406/