if(isset($_FILES[ 'upload_file '][ 'name ']))
{
$f_name=$_FILES[ 'upload_file '][ 'name '];
$exten=explode( '. ',strtolower($f_name));
$sz=sizeof($exten);
$newexten=array( 'zip ', 'rar ', 'txt ', 'doc ');
foreach($newexten as $item)
{
if($exten[$sz]==$item)
{
$flg=1;
break;
}
else
{
$flg=0;
}
}
if($flg==1)echo "true";else echo "false";
}
{
$f_name=$_FILES[ 'upload_file '][ 'name '];
$exten=explode( '. ',strtolower($f_name));
$sz=sizeof($exten);
$newexten=array( 'zip ', 'rar ', 'txt ', 'doc ');
foreach($newexten as $item)
{
if($exten[$sz]==$item)
{
$flg=1;
break;
}
else
{
$flg=0;
}
}
if($flg==1)echo "true";else echo "false";
}
解决方案 »
- 关于数据按地区筛选的问题
- php上传5张图片,进入处理页面,返回表单清空了?
- 求助 curl_exec 返回值判断问题
- Can't connect to local MySQL server through socket '/usr/local/mysql-5.0/data/mysql.sock' (2)
- 你们的金额字段设计的是什么数据类型呀,为何我的金额字段合计出来有很多小数位呀?Please help me!
- 那个函数可以扑捉用户对网页的刷新????
- 高分相送!!!php+odbc的查询问题!
- 程序可不可以删除自身?
- ===GD 的配置 为啥我搞不定===
- 请问邮件群发,会不会使服务器堵塞,如果会,请问如何才能有效的群发邮件而又不会堵塞服务器的方法吗?,如果有请帮小弟我这个大忙呀。在
- 帮忙解决下PHP问题
- 怎么判断一个值是正确的IP?有没有这样的正则?
<body>
<form enctype= "multipart/form-data " method= "POST " action= "file.php ">
<input type= "file " name= "upload_file "> <input type= "submit " value= "upload ">
<?php
if(isset($_FILES[ 'upload_file '][ 'name ']))
{
$f_name=$_FILES[ 'upload_file '][ 'name '];
$exten=explode( '. ',$f_name);
$newexten=array( 'zip ', 'rar ', 'txt ', 'doc ');
foreach($exten as $item)
{
if(!in_array($item,$newexten))
{
echo "error! ";
exit;
}
}
}
2楼使用in_array确实不错,但是不能确定后缀是最后一个。假设文件是这样的“file.rar.txt.jpg”if (isset($_FILES['upload_file']['name'])) {
$fileName = $_FILES['upload_file']['name'];
$arrFile = explode( '.', strtolower($fileName) ); // 分开
// 下面我们取出的应该是最后一个,
// 因为只有最后一个点后面的串才是判断一个文件的类型的。
$fileExt = $arrFile( count($arrFile) - 1 );
$allowExt = array('txt', 'gif', 'rar');
foreach ($allowExt as $ext) {
if ($fileExt != $$ext) {
echo "unlowful file type!";
exit;
}
}
}
如果我上传的是doc,根据循环判断,首先查看数组中的第一个是rar,与doc不等,然后就提示error,它都没有继续向下查看。不知道我说的是否对。
<body>
<form enctype="multipart/form-data" method="POST" action="file.php">
<input type="file" name="upload_file"><input type="submit" value="upload">
<?php
if(isset($_FILES['upload_file']['name']))
{
$f_name=$_FILES['upload_file']['name'];
$exten=explode('.',$f_name);
$extenarray=array('zip','rar','doc','txt');
foreach ($extenarray as $item)
{
$i=0;//计数器
if($item==$exten[count($exten)-1])//最后那个才是文件后缀
{
$flag=1;
break;
}
else
{
$i=1;
if($i==(count($extenarray)-1))//遍历完整个数组
{
$flag=0;
}
}
}
if($flag==1)
{
echo "allow";
}
else
{
echo "error!";
}
}
?>
</form>
</body>
</html>
$newexten=array( 'zip', 'rar', 'txt', 'doc');
$f_name=$_FILES[''upload_file']['name'];
$fz=strrev($f_name);//把字符串反过来排列;
$bj = substr($fz,0,4);//比较;
if(!in_array($bj,$newexten)){
exit("error!"); }
}
<?php
if(isset($_FILES['upload_file']['name'])){
echo $_FILES['upload_file']['name'];
$newexten=array('piz.','rar.','txt.','cod.');
$f_name=$_FILES['upload_file']['name'];
$fz=strrev($f_name);//把字符串反过来排列;
$bj = substr($fz,0,4);//比较;
if(!in_array($bj,$newexten)){
exit("error!"); }
}
?>
<html>
<head>
</head>
<body>
<form action="./aa.php" method="POST" enctype="multipart/form-data">
<input name="upload_file" type="file">
<input type="submit" value="确定">
</form>
</body>
</html>