2012-06-27 69 views
0

如果发布的文件不是图像如果没有选择文件则返回true,是否有javascript的发布提醒?只发布图像文件或允许发布任何文件

+0

不,你不知道选择了哪个文件,你只能知道它是扩展名。 – gdoron

+1

与新的JavaScript [FileReader API](http://www.w3.org/TR/file-upload/#dfn-filereader),您实际上可以读取文件类型而不仅仅是扩展名。 [这是一个很好的概要](http://www.sitepoint.com/html5-javascript-open-dropped-files/)。请记住,[对此的支持仍然很薄(IE10之前没有IE)!](http://caniuse.com/#feat=filereader)。 – lbstr

+0

我的评论更有帮助。你能指定你需要的浏览器支持吗?如果您需要IE浏览器,我们可以告诉您如何检查文件扩展名,并且只有在图像类型列表(jpg,png,gif等)列表中才会发布。 – lbstr

回答

1

以下工作正常。 对表单提交php代码

<?php 

$fileType = $_FILES['avatarfile']['type']; 
if(isset($_POST['submit']) && (($_FILES['avatarfile']['type'] == "image/gif") 
|| ($_FILES['avatarfile']['type'] == "image/jpeg") 
|| ($_FILES['avatarfile']['type'] == "image/pjpeg") || ($_FILES['avatarfile']['type'] == "image/bmp") || ($_FILES['avatarfile']['type'] == "image/png") || $fileType == NULL)) 
{ 

$query="insert into ...)"; 
header('Location:something.php'); 
} 
else { 
echo "The file you tried to upload is not an image"; 
} 
?>