php 文件上传只允许上传图像文件

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>php 文件上传只允许上传图像文件</title>
</head>

<body>
<form id="form1" name="form1" enctype="multipart/form-data" method="post" action="">
  <label>
  <input type="file" name="file" />
  </label>
  <label>
  <input type="submit" name="Submit" value="提交" />
  </label>
</form>
</body>
</html>
<?php

if($_FILES){ 
 foreach( $_FILES as $key => $_value )
 {
  $_FILES[$key]['type'] =$_value['type'];  
 }
 if(substr($_FILES[$key]['type'],0,6) !='image/')
 {
  exit;
 }

 
 echo '<hr/>';
 print_r($_FILES);
 echo '<hr/>';
 echo var_export($_FILES);

?>

首先判断$_FILES['inputname']['type'],对于能够识别的类型更正文件后缀,然后再判断后缀。

因为$_FILES['inputname']['type']只能识别少数类型,但是它是根据文件内容来识别的,特别是对于许多把BMP图形保存为JPG文件的相机,一下就现原型了,而你的程序可能针对BMP有转换为JPG的处理。

时间: 2024-11-18 05:09:56

php 文件上传只允许上传图像文件的相关文章

求大神指教 ajaxFileUpload 上传多个文件时候 springMVC 只接受到了一个文件 不知道在怎么回事

问题描述 求大神指教ajaxFileUpload上传多个文件时候springMVC只接受到了一个文件不知道怎么回事后台用@RequestParamMultipartFile[]myfiles来接受的if(typeof(fileElementId)=='string'){fileElementId=[fileElementId];}for(variinfileElementId){//按namevaroldElement=jQuery('#'+fileElementId[i]);varnewEle

PHP单文件上传原理及上传函数的封装

服务器(临时文件)-->指定目录,当文件进入服务器时它就是临时文件了,这时操作中要用临时文件的名称tmp_name. //在客户端设置上传文件的限制(文件类型和大小)是不安全的,因为客户能通过源代码修改限制,所以在服务端这里设置限制. //设置编码为UTF-8,以避免中文乱码 header('Content-Type:text/html;charset=utf-8'); //通过$_FILES接收上传文件的信息 $fileInfo = $_FILES['myFile']; function up

tomcat-使用ip地址加端口号访问jsp上传页面不能上传文件

问题描述 使用ip地址加端口号访问jsp上传页面不能上传文件 我做了一个上传照片到mysql数据库的jsp页面,当使用localhost加端口8080时可以进入 页面上传照片到mysql,但是我把项目部署到tomcat下的webapps下时,可以通过ip地址 加端口号8080(我的端口号没做修改)可以访问到我的jsp界面,但是不能够上传照片,我 把上传照片的文件名输出到控制台看了一下,发现文件名只包含了文件的名称没有文件 的路径,控制台提示是:没有找到该照片.麻烦大家帮我看看,谢谢大家! <%

求大神帮忙,我这里是只可以上传一张照片,怎样可以一次上传多张照片啊(最多6张)

问题描述 @ResponseBody@RequestMapping("/C/P")publicObjectpublishPosts(StringUserId,StringPostZone,StringContent,@RequestParam(value="ContentImage",required=false)MultipartFileContentImage){JSONObjectresult=newJSONObject();StringimgPath=&qu

使用Ajax进行文件与其他参数的上传功能(java开发)

文件上传: 记得前一段时间,为了研究Ajax文件上传,找了很多资料,在网上看到的大部分是form表单的方式提交文件,对于Ajax方式提交文件并且也要提交表单中其他数据,发现提及的并不是很多,后来在同事的帮助下,使用ajaxfileupload最终完成了文件上传与其他提交的操作,现在分享给大家,希望大家能有有所帮助. 操作步骤: 1 导入jar包: 我们在使用文件上传时,需要使用到两个jar包,分别是commons-io与commons-fileupload,在这里我使用的两个版本分别是2.4与1

java-Java实现自动识别文件夹中图片路径?上传到网站中的 源码,很急

问题描述 Java实现自动识别文件夹中图片路径?上传到网站中的 源码,很急 Java实现自动识别文件夹中图片路径,上传到网站中的 源码,比如,我有一个文件夹,里面有许多图片,需要发布到一个网站 解决方案 你直接复制到服务器不必这个快??? 解决方案二: 这个发布到服务器不是把地址发布到服务器,而是把图片上传的服务器,服务器没有C盘D盘什么的,它是图片上传到服务其的一个指定地址,在把这个地址存入类中对应的数据库字段中,在通过掉用这个地址获得图片,如果是在本地就可以通过String name=fil

限制上传文件大小-Springmvc上传文件限制大小,异常处理返回报错信息后,eclipse控制台还报错

问题描述 Springmvc上传文件限制大小,异常处理返回报错信息后,eclipse控制台还报错 1.web.xml配置: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/X

文件占用-neatUpload多次上传大文件,提示被占用

问题描述 neatUpload多次上传大文件,提示被占用 利用neatUpload上传大文件,多次上传同一个大文件时候,第一次没问题,后面几次上传提示文件被占用,检查UploadPPT文件夹,在文件夹里面删除同一文件时报错:file is open in WebDev.WebServer.exe:上传文件代码如下 前台 后台: if (AttachFile.HasFile) { string FileName = this.AttachFile.FileName;//获取上传文件的文件名,包括后

easyui-easyUI如何能够显示出上传到服务器上的excel文件里面的数据

问题描述 easyUI如何能够显示出上传到服务器上的excel文件里面的数据 easyUI页面上只要显示出上传到服务器上面的excel文件里面的数据就好了,不需要有任何数据库的联系操作,仅仅要页面显示出来 解决方案 你用的什么服务器的编程语言,比如java,你可以用poi(.net用npoi)可以读取excel,然后返回数据,客户端显示就可以了.