我们一般不会在前段限制用户上传文件时的文件类,因为也没什么好的办法来限制只能使用像php,asp这类来操作,下面我来介绍利用js来定义type=file浏览上传时的文件类型与php中限制上传文件类型代码。

利用js

例1

代码如下

复制代码

function check(){

var filepath=path.value

filepath=filepath.substring(filepath.lastIndexOf(‘.’)+1,filepath.length)

if(filepath != ‘jpg’ && filepath != ‘gif’)

alert(“只能上传JPG或GIF格式的图片”)

}

(只能上传JPG或GIF格式的图片)

例2

代码如下

复制代码

function ck(obj){if(obj.value.length>0){

var af=”jpg,gif,png,zip,rar,txt,htm”;

if(eval(“with(obj.value)if(!/”+af.split(“,”).join(“|”)+”/ig.test(substring(lastIndexOf(‘.’)

+1,length)))1;”)){alert(“Allowed file types:n”+af);obj.createTextRange().execCommand(‘delete’)};

}}

例3

代码如下

复制代码

/*

* 判断图片类型

*

* @param ths

* type=”file”的javascript对象

* @return true-符合要求,false-不符合

*/

function checkImgType(ths){

if (ths.value == “”) {

alert(“请上传图片”);

return false;

} else {

if (!/.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(ths.value)) {

alert(“图片类型必须是.gif,jpeg,jpg,png中的一种”);

ths.value = “”;

return false;

}

}

return true;

}

如果是利用php,asp类的我们就不能像上面处理了需要如下

代码如下

复制代码

$name=$_FILES[‘file4’][‘name’]; //获取客户端机器原文件的名称

$type=strstr($name,”.”); //获取从”.”到最后的字符 if($type!=”.txt”)

{ echo “对不起,您上传文件的格式不正确!!”;

echo “将在3秒钟后返回前页…”;

}

上面的方法说实话只能骗小朋友了,只要我们把上传文件的后缀名改一下就可能通过上面验证

稍加改进后这样就与文件后缀名无关了

代码如下

复制代码

$temppath=$upfile[‘tmp_name’];

$fileinfo=pathinfo($upfile[‘name’]);

$extension=$upfile[‘type’];

switch( $extension )

{

case ‘application/msword’:

$extension =’doc’;

break;

case ‘application/vnd.ms-excel’:

$extension =’xls’;

break;

case ‘application/vnd.openxmlformats-officedocument.wordprocessingml.document’:

$extension =’docx’;

break;

case ‘application/vnd.ms-powerpoint’:

$extension =’ppt’;

break;

case ‘application/pdf’:

$extension =’pdf’;

break;

case ‘application/vnd.openxmlformats-officedocument.spreadsheetml.sheet’:

$extension =’xlsx’;

break;

default:

die(‘只允许上传doc,docx,xls,pdf,ppt文件 重新上传‘);

}

id 后缀名 php识别出的文件类型

0 gif image/gif

1 jpg image/jpeg

2 png image/png

3 bmp image/bmp

4 psd application/octet-stream

5 ico image/x-icon

6 rar application/octet-stream

7 zip application/zip

8 7z application/octet-stream

9 exe application/octet-stream

10 avi video/avi

11 rmvb application/vnd.rn-realmedia-vbr

12 3gp application/octet-stream

13 flv application/octet-stream

14 mp3 audio/mpeg

15 wav audio/wav

16 krc application/octet-stream

17 lrc application/octet-stream

18 txt text/plain

19 doc application/msword

20 xls application/vnd.ms-excel

21 ppt application/vnd.ms-powerpoint

22 pdf application/pdf

23 chm application/octet-stream

24 mdb application/msaccess

25 sql application/octet-stream

26 con application/octet-stream

27 log text/plain

28 dat application/octet-stream

29 ini application/octet-stream

30 php application/octet-stream

31 html text/html

32 htm text/html

33 ttf application/octet-stream

34 fon application/octet-stream

35 js application/x-javascript

36 xml text/xml

37 dll application/octet-stream

38 dll application/octet-stream

www.bkjia.comtrueTechArticle我们一般不会在前段限制用户上传文件时的文件类,因为也没什么好的办法来限制只能使用像php,asp这类来操作,下面我来介绍利用js来定义…

php限制文件类型,限制上传文件类型程序代码_PHP教程相关推荐

  1. Confluence wiki上传文件时报“不能上传文件至Confluence中,服务器可能已失效”

    Confluence wiki 上传文件时报"不能上传文件至Confluence中,服务器可能已失效"的解决方法. 一. 后台管理修改配置 首先用管理员登陆Confluence后台 ...

  2. vue+elementui 同时有上传文件和批量上传文件功能,上传文件或批量上传文件后必须刷新才能再次上传文件

    报错描述: 使用element-ui的上传文件组件写一个批量上传和上传文件,但是发现每次上传文件后或者批量上传文件后,不能再次上传文件或者批量上传文件.只有进入页面第一次点击上传文件或者批量上传文件才 ...

  3. linux上传文件命令ftp put,Linux ftp 命令行中下载文件get与上传文件put的命令应用详解...

    介绍:从本地以用户anok登录的机器192.168.0.16上通过ftp远程登录到192.168.0.6的ftp服务器上,登录用户名是peo.以下为使用该连接做的实验. 查看远程ftp服务器上用户pe ...

  4. linux get与put,科技常识:Linux ftp 命令行中下载文件get与上传文件put的命令应用详解...

    今天小编跟大家讲解下有关Linux ftp 命令行中下载文件get与上传文件put的命令应用详解 ,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关Linux ftp 命令行中下载文件get与 ...

  5. linux上传文件put,详解Linux ftp 命令行中下载文件get与上传文件put的操作方法

    尽管现在有许多好的FTP应用程序,但服务器命令行ftp命令的应用程序仍然很多,下面就让电脑乐园小编带你一起来学习详解Linux ftp 命令行中下载文件get与上传文件put的操作方法. 介绍:从本地 ...

  6. 淘宝商品详情采集上架京东店铺(无货源商品数据采集接口,京东商品详情接口,淘宝商品详情接口,整店商品采集上传接口)接口代码对接教程

    淘宝商品详情采集上架京东店铺(无货源商品数据采集接口,京东商品详情接口,淘宝商品详情接口,整店商品采集上传接口)接口代码对接教程如下: 1.公共参数 名称 类型 必须 描述(接口代码教程wx19970 ...

  7. php禁止上传,PHP禁止某些类型的上传文件_PHP教程

    为了防止某些人将 exe 之类的可执行文件上传到服务器,我们可以编写程序判断上传文件的类型,然后不符合类型的文件将会拒绝上传. 下面是实现这一功能的 PHP 程序: function ($file_n ...

  8. python 调用Multipart类型接口上传文件和下载文件

    业务场景:工作日常会遇到在网站管理后台中需要上传文件去进行批量导入数据的接口,或者导出数据文件到本地的接口:下面记录上传文件和导出文件的操作方法: 导入数据 import requestsurl = ...

  9. android显示服务器端文件夹,Android上传文件到服务端并显示进度条

    最近在做上传文件的服务,简单看了网上的教程.结合实践共享出代码. 由于网上的大多数没有服务端的代码,这可不行呀,没服务端怎么调试呢. Ok,先上代码. Android 上传比较简单,主要用到的是 Ht ...

最新文章

  1. ROP简单 ret2syscall
  2. python 文件格式转换_python实现txt文件格式转换为arff格式
  3. JavaScript 图片切割效果(带拖放、缩放效果)
  4. 最新型号设备信息对照表_高利洁中央空调风管清洗设备:K11三维度清扫除尘一体机器人...
  5. extjs简单分页grid的总结
  6. asm扩容流程_AIX之ASM存储扩容
  7. BZOJ 2560(子集DP+容斥原理)
  8. python手机能学吗_学习大数据是否可以不学习Python?
  9. linux安装redis和mysql
  10. 基于用户点击行为的数字图书搜索系统研究与实现 - 中国优秀硕士学位论文全文数据库...
  11. visual svn server安装失败
  12. fences 桌面整理,超赞,强烈推荐
  13. 3D检测入门知识梳理
  14. mysql实现周月表_Mysql,Mybatis做时间过滤报表:日周月统计
  15. node: rimraf : 无法加载文件 C:\Users\goodDream\AppData\Roaming\npm\rimraf.ps1,因为在
  16. OCO-2卫星数据批量化下载教程
  17. 技术晨读_2014_9_1
  18. Win10家庭版中文用户名改英文用户名方法(亲测管用)
  19. 计算机设置了密码后不能打印了,为什么电脑设置了开机密码后就不能打印了
  20. SAP S4 HANA 本地化报表配置(科目余额表/资产负债表/利润表/会计凭证明细表)

热门文章

  1. 【案例】FFMPEG GIF音乐搞笑视频自动生成 内含视频体验
  2. 用于获得个股MACD数据及每日收盘数据的python程序
  3. 从kernel源代码的角度分析signal的错误用法和理解
  4. linux中比较大小的符号,linux shell中的比较符号与特殊符号介绍
  5. JAVA堆里放啥,栈里放啥,一看就懂
  6. HTML自闭合(self-closing)标签
  7. 什么是 SAP ABAP? 类型、ABAP 完整形式和含义
  8. vue 项目打包报错 CSS minification error
  9. MATLAB学习笔记 实现简易计算器
  10. JStree 关联修改