加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP文件上传判断file是否己选择上传文件的方法

发布时间:2020-12-13 02:08:47 所属栏目:PHP教程 来源:网络整理
导读:《PHP实例:PHP文件上传判断file是否己选择上传文件的方法》要点: 本文介绍了PHP实例:PHP文件上传判断file是否己选择上传文件的方法,希望对您有用。如果有疑问,可以联系我们。 PHP编程 本篇章节讲解PHP文件上传判断file是否己选择上传文件的方法.分享

《PHP实例:PHP文件上传判断file是否己选择上传文件的方法》要点:
本文介绍了PHP实例:PHP文件上传判断file是否己选择上传文件的方法,希望对您有用。如果有疑问,可以联系我们。

PHP编程本篇章节讲解PHP文件上传判断file是否己选择上传文件的方法.分享给大家供大家参考.具体方法如下:

PHP编程一个合格的程序员在实现数据入库中时我们都会有一些非常严密的过滤与数据规则,像我们文件上传时在前段要判断用户是否选择上传文件同时在后台也可判断是否有上传的文件,本文实例即对此做一较为深入的分析.

PHP编程如下html代码所示:

代码如下:
<form action="?" method="post" enctype='multipart/form-data'>
文件上传:<input type="file" name="file" id="file"/>
<input type="submit" id="send" value="提交"/>
</form>

PHP编程我们最常用的在前端简单的进行判断

代码如下:
<script>
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']一定不要忘写,它表示是一个临时的意思
?>

PHP编程安例分析

PHP编程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编程希望本文所述对大家的PHP程序设计有所帮助.

欢迎参与《PHP实例:PHP文件上传判断file是否己选择上传文件的方法》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读