php文件上传之单文件上传
为了简单一些,php文件跟form表单写在了一个文件里.
php单文件上传---->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
请选择要上传的文件:<input type="file" name="myfile"/><br /><br />
<input type="submit" value="submit" />
<input type="hidden" name="MAX_FILE_SIZE" value="5982"/>
</form>
</body>
</html> <?php
if(!empty($_FILES)){
header('content-type:text/html;charset=utf-8');
$fileInfo=$_FILES['myfile'];
print_r($_FILES);
//如果上传出错则退出并打印错误信息
if($fileInfo['error']>0){
switch($fileInfo['error']){
case 1:
$msg_error='上传文件超过了php配置文件中UPLOAD_MAX_FILESIZE选项的值';
break;
case 2:
$msg_error='超过了表单MAX_FILE_SIZE限制的大小';
break;
case 3:
$msg_error='文件部分上传';
break;
case 4:
$msg_error='没有文件上传';
break;
case 6:
$msg_error='没有找到临时目录';
break;
case 7:
case 8:
$msg_error='系统错误';
break;
}
exit($msg_error);
}
$filename=$fileInfo['name'];
//获取文件的扩展名
$ext=strtolower(substr($filename,strrpos($filename,'.')+1));
//定义可允许上传的扩展名
$allowExt=array('txt','html','png','gif','jpeg');
//检测上传文件的类型
if(!in_array($ext,$allowExt)){
exit('上传文件类型错误');
} //检测文件的大小
$maxSize=2097152;
if($fileInfo['size']>$maxSize){
exit('上传文件过大');
} //检测是否为HTTP POST方式上传上来的
if(!is_uploaded_file($fileInfo['tmp_name'])){
exit('文件不是通过HTTP POST方式提交上来的');
} //确保文件名字唯一,防止同名文件被覆盖
$uniqName=md5(uniqid(microtime(true),true)).'.'.$ext; //定义保存在哪个文件夹下,如果没有该文件夹则创建
$path='uploads';
if(!file_exists($path)){
mkdir($path,0777,true);
chmod($path,0777);
}
$destination=$path.'/'.$uniqName; //移动文件至要保存的目录
if(! @move_uploaded_file($fileInfo['tmp_name'],$destination)){
exit('文件上传失败');
} echo '上传成功'; }
?>
php文件上传之单文件上传的更多相关文章
- Spring MVC-------文件上传,单文件,多文件,文件下载
Spring MVC 框架的文件上传是基于 commons-fileupload 组件的文件上传,只不过 Spring MVC 框架在原有文件上传组件上做了进一步封装,简化了文件上传的代码实现,取消了 ...
- java文件上传(单文件 多文件)与删除
/** * 文件上传--单文件 * * @param request * @param response * @param path * 文件存放路径(path为WebApp\后面的内容) * @re ...
- Struts1文件上传、单文件、多文件上传【Struts1】
将struts1文件上传的操作汇总了一下,包括单文件上传和多文件上传,内容如下,留作备忘: Struts2实现文件上传的文章(http://blog.csdn.net/itwit/article/d ...
- flask 文件上传(单文件上传、多文件上传)
文件上传 在HTML中,渲染一个文件上传字段只需要将<input>标签的type属性设为file,即<input type=”file”>. 这会在浏览器中渲染成一个文件上传字 ...
- springMVC上传功能(单文件和多文件上传)
单文件和多文件上传 首先在xxx-select.xml里面配置上传的大小和编码 <bean id="multipartResolver" class="org.sp ...
- SpringMVC文件上传下载(单文件、多文件)
前言 大家好,我是bigsai,今天我们学习Springmvc的文件上传下载. 文件上传和下载是互联网web应用非常重要的组成部分,它是信息交互传输的重要渠道之一.你可能经常在网页上传下载文件,你可能 ...
- SpringBoot - 实现文件上传1(单文件上传、常用上传参数配置)
Spring Boot 对文件上传做了简化,基本做到了零配置,我们只需要在项目中添加 spring-boot-starter-web 依赖即可. 一.单文件上传 1,代码编写 (1)首先在 stati ...
- git---怎样将分支上的一个单文件合并到主分支上(master)
一.首先切换到主分支 注意将分支上的数据全部提交 以免造成数据冲突或丢失 git checkeout master 二.选择要合并的文件 git checkout --patch 分支名称 要合并 ...
- struts文件上传(单文件)
第01步:配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version= ...
随机推荐
- Servlet3.0学习总结(四)——使用注解标注监听器(Listener)
Servlet3.0提供@WebListener注解将一个实现了特定监听器接口的类定义为监听器,这样我们在web应用中使用监听器时,也不再需要在web.xml文件中配置监听器的相关描述信息了. 下面我 ...
- leecode single numer
http://www.acmerblog.com/leetcode-single-number-ii-5394.html acm之家的讲解总是那么到位 public class Solution { ...
- Java笔记(十六)……内部类
内部类概述 内部类是将一个类定义在另一个类里面,对里面那个类就成为内部类(内部类,嵌套类). 当描述事物时,事物的内部还有事物,该事物用内部类来描述,因为内部事物在使用外部事物的内容 访问特点 内部类 ...
- SharePoint服务器将连接配置数据库的连接字符串保存在什么地方?
经常有人问我这个问题,SharePoint服务器将连接配置数据库的连接字符串保存在什么地方?虽然其他SharePoint服务器场设置都是保存到了配置数据库里面,但连接配置数据库本身的连接字符串,肯定是 ...
- Com 笔记 -可连接对象
首先 两个概念: 1.入接口 :源对象提供给客户调用的. 2.出接口 :源对象通过此接口可直接或间接调用客户.类似delegate 对于实现了出接口的对象称为可连接对象. 对应每一个出接口,可连接对象 ...
- Hive 0.12 Caused by: MetaException(message:Version information not found in metastore. )解决方法
配置完成Mysql存储元数据信息,启动后测试show tables报错ERROR exec.DDLTask: org.apache.hadoop.hive.ql.metadata.HiveExcept ...
- C辗转相除法求最大公约数的实现
int gcd(int a, int b)//求最大公约数,a为分子,b为分母 { ) return a; return gcd(b,a%b); }
- 最简单实现跨域的方法:用 Nginx 反向代理
本文作者: 伯乐在线 - 良少 .未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者. 什么是跨域 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对javascrip ...
- 哪里有比较全的hadoop视频教程
robby老师讲了套hadoop视频,讲的比的深入浅出,内容很丰富,把网盘下载地址提供给大家一下: 视频下载啦很大,有图有真相: 1,Hadoop介绍,HDFS和MapReduce工作原理:http: ...
- 输出数组里面第N大的数
好像有些大公司出过面试题:找出数组里面第N大的数,当然有点变化,但本质部分是这样的. 要求是不能排序,时间复杂度不能超过O(n^2) 思路很多,我暂时就只会快排衍生的那种.如果对快速排序不太熟悉了,建 ...