PHP文件上传判断file是否己选择上传文件的方法,
PHP文件上传判断file是否己选择上传文件的方法,
本文实例讲述了PHP文件上传判断file是否己选择上传文件的方法。分享给大家供大家参考。具体方法如下:
一个合格的程序员在实现数据入库中时我们都会有一些非常严密的过滤与数据规则,像我们文件上传时在前段要判断用户是否选择上传文件同时在后台也可判断是否有上传的文件,本文实例即对此做一较为深入的分析。
如下html代码所示:
复制代码 代码如下:
我们最常用的在前端简单的进行判断
复制代码 代码如下:
如果要做真正的安全我们需要在后台进入判断处理
复制代码 代码如下:
//判断pic文件框是否已经选择文件
if(!empty($_FILES['file']['tmp_name'])){
echo'已选择文件';
}else{
echo'请选择文件';
}
//PS:$_FILES后面的['tmp_name']一定不要忘写,它表示是一个临时的意思
?>
安例分析
js判断是比较笼统了我们只是使用了file=document.getElementById("file").value;来判断file有没有值或不为空了,这样只要输入一个数字就可以直接提交了,所以我们需要进入如上传文件的用户名限制
如
复制代码 代码如下:
function CheckWorkFile()
{
var obj=document.getElementById('fuMain');
if(obj.value=='')
{
alert('请选择要上传的作业书文件');
return false;
}
var stuff=obj.value.match(/^(.*)(\.)(.{1,8})$/)[3];
if(stuff!='doc')
{
alert('文件类型不正确,请选择.doc文件');
return false;
}
return true;
}
对于php处理我们也只使用了if(!empty($_FILES['file']['tmp_name'])){来判断不为空了,其实这样也是不合理的
如我们可以如此处理
复制代码 代码如下:
function file_type($filename)
{
$file = fopen($filename, "rb");
$bin = fread($file, 2); //只读2字节
fclose($file);
$strInfo = @unpack("C2chars", $bin);
$typeCode = intval($strInfo['chars1'].$strInfo['chars2']);
$fileType = '';
switch ($typeCode)
{
case 7790:
$fileType = 'exe';
break;
case 7784:
$fileType = 'midi';
break;
case 8297:
$fileType = 'rar';
break;
case 8075:
$fileType = 'zip';
break;
case 255216:
$fileType = 'jpg';
break;
case 7173:
$fileType = 'gif';
break;
case 6677:
$fileType = 'bmp';
break;
case 13780:
$fileType = 'png';
break;
default:
$fileType = 'unknown: '.$typeCode;
}
//Fix
if ($strInfo['chars1']=='-1' AND $strInfo['chars2']=='-40' ) return 'jpg';
if ($strInfo['chars1']=='-119' AND $strInfo['chars2']=='80' ) return 'png';
return $fileType;
}
echo file_type('start.php'); // 6063 or 6033
这样我们可以限制上传文件类型的同时也给程序做了一个安全处理
希望本文所述对大家的PHP程序设计有所帮助。
上一篇: zencart哪位高手用过
下一篇: phpexcel快速开发指南(不错)
推荐阅读
-
ASP.net判断上传文件类型的三种有效方法
-
ASP.net判断上传文件类型的三种有效方法
-
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
-
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
-
利用PHP判断文件是否为图片的方法总结
-
PHP判断文件是否被引入的方法get_included_files用法示例
-
PHP上传图片时判断上传文件是否为可用图片的方法
-
PHP用FTP类上传文件视频等的简单实现方法
-
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
-
.NET的file文件上传控件使用方法 修改web.config文件上传大文件