PHP文件上传判断file是否己选择上传文件的方法
2014-11-10 16:31
911 查看
本文实例讲述了PHP文件上传判断file是否己选择上传文件的方法。分享给大家供大家参考。具体方法如下:
一个合格的程序员在实现数据入库中时我们都会有一些非常严密的过滤与数据规则,像我们文件上传时在前段要判断用户是否选择上传文件同时在后台也可判断是否有上传的文件,本文实例即对此做一较为深入的分析。
如下html代码所示:
文件上传:<input type="file" name="file" id="file"/>
<input type="submit" id="send" value="提交"/>
</form>
我们最常用的在前端简单的进行判断
var send=document.getElementById("send");
send.onclick=function(){
var file=document.getElementById("file").value;
if(file.length<1){
alert('请选择图片');
return false;
}
}
</script>
如果要做真正的安全我们需要在后台进入判断处理
复制代码 代码如下: <?php
//判断pic文件框是否已经选择文件
if(!empty($_FILES['file']['tmp_name'])){
echo'已选择文件';
}else{
echo'请选择文件';
}
//PS:$_FILES后面的['tmp_name']一定不要忘写,它表示是一个临时的意思
?>
安例分析
js判断是比较笼统了我们只是使用了file=document.getElementById("file").value;来判断file有没有值或不为空了,这样只要输入一个数字就可以直接提交了,所以我们需要进入如上传文件的用户名限制
如
{
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程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- PHP文件上传判断file是否己选择上传文件的方法
- PHP上传图片时判断上传文件是否为可用图片的方法
- struts2中action的方法里怎样判断用户是否选择了上传文件
- PHP - Manual手册 - XL. Filesystem 文件系统函数 - is_uploaded_file判断文件是否是通过 HTTP POST 上传的
- PHP上传图片时判断上传文件是否为可用图片的方法
- PHP - Manual手册 - 函数参考 - Filesystem 文件系统函数 - is_file判断给定文件名是否为一个正常的文件
- 2014-03-31工作日志:判断文件是否存在可以使用GetFileAttributes 方法。
- PHP使用get_headers函数判断远程文件是否存在的方法
- php判断上传的文件图片是否为空
- php 应用 bootstrap-fileinput 上传文件 插件 操作的方法
- PHP判断网络文件是否存在的方法
- php判断文件上传类型及过滤不安全数据的方法
- 用JS怎么判断上传文件控件是否未选择文件
- 关于Html动态添加上传文件控件inputFile(附件)及清除已选择的文件的几个方法
- PHP判断远程文件是否存在的几种方法
- 判断多个<input type="file">是否有已经选择好文件的
- PHP使用get_headers函数判断远程文件是否存在的方法
- C#判断上传文件是否是图片以防止木马上传的方法
- PHP学习之路之PHP文件上传需要考虑的问题以及解决方法($_FILES,$_SERVER,substr,strrpos,file_exists,move_uploaded_file,is_uploaded_file,mkdir)
- PHP判断远程文件是否存在的几种方法