我在这里有一个应用程序
我有两个问题:
问题1:如何修改通知?
以下是代码:
<?php
If(isset($_POST))
{
$allowedImageTypes = array("image/pjpeg","image/jpeg","image/jpg","image/png","image/x-png","image/gif");
$file = $_FILES['imageFile']; // this is the line the notice is pointing to
$fileType = $file['type'];
if (!in_array($fileType, $allowedImageTypes)) {
echo "Unsupported file type";
}
else
{
// Process the file
}
}
?>
问题2:如果打开应用程序,请单击"添加问题"按钮。这将添加一个表行。现在在文件输入中选择一个无效的文件(例如.txt文件)。现在单击"提交详细信息"按钮,它将在警报中为问题1声明"不支持的文件类型"。现在返回文件输入并将文件更改为有效格式(.png、.jpg、.jpeg或.gif),然后在完成此操作后再次单击"提交详细信息"按钮,此时会出现一个确认框,说明一条消息以及是否要继续。
现在,这一切在客户端都很好,但我想要的是,当用户单击"提交详细信息"按钮时,为了安全起见,我希望它检查服务器端和客户端的文件格式是否正确。如果它是有效的,则不显示消息,如果无效,则在顶部显示消息"不支持的文件类型"。如果文件输入为空,则它是有效的,但如果一个文件输入包含错误的文件格式,则显示无效消息。有人知道怎么做吗?php代码离实现这一点还差得远吗?
如果您希望
将if(isset($_POST))更改为if(count($_POST)>0)如果您检查(isset($_FILES["imageFile"])
正在处理问题2
在传统的HTML中不可能在客户端进行检查。您可能会看到像plupload或swfupload这样带有jquery连接器的解决方案,这些连接器是面向flash和HTML5的上传解决方案