php过滤上传类型,只上传图片类型文件

PHP源码

http://116.254.208.48/2.txt

怎样来过滤上传类型?
代码怎样改
没有判断文件类型 没有过滤类型 可以上传任何文件
我只要上传jpg、jpeg、gif、png的图片

你可以这样,如果说你的上传文件文件名是$uploadfilename,那么可以用
$str = end(explode(".",$uploadfilename));获得上传文件的扩展名,然后再进行判断if($str=="jpg" or $str=="jpeg" or $str=="gif" or $str=="png")的时候才执行上传,否则返回错误提示信息,这样子来限制上传文件类型
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-08
<?php
header('Content-Type:text/html; charset=utf-8');
require('inc/function.inc.php');
$path = pathinfo($_FILES['filename']['name']);
$uploadfilename = makeuploaddirname('/uploadfile') . makeuploadfilename() . '.' . $path['extension'];

$types=array("image/jpg","image/jpeg","image/gif","image/png");
if (in_array($_FILES['filename']['type'],$types)) {
if(move_uploaded_file($_FILES['filename']['tmp_name'], realpath("../") . $uploadfilename)){
$picname = $_POST['picname'];
if( ('#special#' != $picname))
{
echo "<script language='javascript'>alert('文件上传成功!');window.parent.document.getElementById('{$picname}').value='", substr($uploadfilename,0), "';window.parent.closePopupDiv();</script>";
}
else
{
echo "<script language='javascript'>alert('文件上传成功!');obj=window.parent.opener;obj.insertRow(obj.document.getElementById('mytable'),'{$uploadfilename}');window.close();</script>";
}
}
else{
echo '<script language="javascript">alert("文件上传失败!");</script>';
}
}else {
echo "不接受的格式";
}
?>
第2个回答  2010-07-08
用swfupload吧,可以省很多事,支持多文件,支持进度条,支持缩略图。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网