php文件上传——php经典实例


php文件上传——php经典实例
表单页
<html>
<head>
<title>文件上传</title>
<meta charset='utf-8' />
</head>
<body>
<form action='doupload.php' method='post' enctype='multipart/form-data'>
<input type='file' name='filename' />
<input type='submit' />
</form>
</body>
</html>
上传处理页
<?php
//var_dump($_FILES);
/*'filename' =>
array (size=5)
'name' => string '7730-15042G60S6-52.jpg' (length=22)
'type' => string 'image/jpeg' (length=10)
'tmp_name' => string 'D:\wamp64\tmp\phpE94A.tmp' (length=25)
'error' => int 0
'size' => int 338411*/
//获取文件信息
$fileinfo=$_FILES['filename'];
//文件上传路径
$path="./uploads/";
//大小 0不限止
$maxsize=; //判断错误号
if($fileinfo['error']>){
switch($fileinfo['error']){
case :$error="上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值";break;
case :$error="上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值";break;
case :$error="文件只有部分被上传。";break;
case :$error="没有文件被上传。";break;
case :$error="找不到临时文件夹";break;
case :$error="文件写入失败";break;
default:$error="未知错误,请稍后再试...";
}
}
//定义允许类型
$typearr=array("image/jpeg","image/png","image/gif");
//判断类型
if(count($typearr)>){
if(!in_array($fileinfo['type'],$typearr)){
die("文件上传失败!类型不符");
}
}
//取后缀
$ext=pathinfo($fileinfo['name'],PATHINFO_EXTENSION); //生成随机文件名
do{ $newname=date("YmdHis").rand(,).".".$ext; }while(file_exists($path.$newname)); //判断是否上传成功
if(is_uploaded_file($fileinfo['tmp_name'])){
if(move_uploaded_file($fileinfo['tmp_name'],$path.$newname)){
echo "上传成功!";
}else{
die("移动失败!");
} }else{
die("未知错误!请重试"); } ?>
php文件上传——php经典实例的更多相关文章
- JavaWeb实现文件上传下载功能实例解析
转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能 ...
- JavaWeb实现文件上传下载功能实例解析 (好用)
转: JavaWeb实现文件上传下载功能实例解析 转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web ...
- Django文件上传(经典上传方式)
经典文件上传方式 创建URL from django.contrib import admin from django.urls import path from django.conf.urls i ...
- JSCH实现文件上传的代码实例
package com.vcredit.ddcash.monitor.sendmail; import java.io.File;import java.io.FileInputStream;impo ...
- PHP 文件上传的综合实例
1.upload.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <htm ...
- Java文件上传之SpringMVC实例
一.配置文件 web.xml <?xml version="1.0" encoding="UTF-8"?><web-app version=& ...
- FasfDFS整合Java实现文件上传下载功能实例详解
https://www.jb51.net/article/120675.htm 在上篇文章给大家介绍了FastDFS安装和配置整合Nginx-1.13.3的方法,大家可以点击查看下. 今天使用Java ...
- jsp简易文件上传(common.fileupload)
昨天开始重新架构我的V&View(维视),之前写文章使用的是一个kindediter的插件,挺好用的.最近不知道咋了,出现了些小问题.早在写V&View的时候就想用以下两种方法实现文章 ...
- 【SSH2(实用文章)】--Struts2文件上传和下载的例子
回想一下,再上一篇文章Struts2实现机制,该步骤做一步一步来解决,这种决心不仅要理清再次Struts2用法.映射机制及其在深入分析.最后一个例子来介绍Struts2一种用法,这里将做一个有关文件上 ...
随机推荐
- Monkey自动化测试
Monkey简介 语法参数 实际应用 一.Monkey简介 1.什么是Monkey? 基于健壮性.稳定性的考虑:如果将一个应用交给一个人长时间不停地乱点乱按,程序会怎么样? 有时候运行相同系列的测试, ...
- P2323 [HNOI2006]公路修建问题
题目描述 输入输出格式 输入格式: 在实际评测时,将只会有m-1行公路 输出格式: 输入输出样例 输入样例#1: 4 2 5 1 2 6 5 1 3 3 1 2 3 9 4 2 4 6 1 输出样例# ...
- windows7下的64位redis安装简介
在网上找了好多,指向的都是同一个地址,可惜打不开.https://github.com/MSOpenTech/redis/releases.网址被禁掉了.终于找到一篇有用的帖子,安装成功.感谢仁兄ko ...
- 【刷题】BZOJ 3926 [Zjoi2015]诸神眷顾的幻想乡
Description 幽香是全幻想乡里最受人欢迎的萌妹子,这天,是幽香的2600岁生日,无数幽香的粉丝到了幽香家门前的太阳花田上来为幽香庆祝生日. 粉丝们非常热情,自发组织表演了一系列节目给幽香看. ...
- 【刷题】BZOJ 2599 [IOI2011]Race
Description 给一棵树,每条边有权.求一条简单路径,权值和等于K,且边的数量最小.N <= 200000, K <= 1000000 Input 第一行 两个整数 n, k 第二 ...
- [SHOI2011]双倍回文 manacher
题面: 洛谷:[SHOI2011]双倍回文‘ 题解: 首先有一个性质,本质不同的回文串最多O(n)个. 所以我们可以对于每个i,求出以这个i为结尾的最长回文串,然后以此作为长串,并判断把这个长串从中间 ...
- 在ls /bin搜索的结果中找到以m开头的
ls /bin | grep ^m 在ls /bin搜索的结果中找到以m开头的 find [目录] [条件] [动作] find - name "dsa" name 指定名字 ty ...
- 【JavaScript】基本类型和引用类型的值、引用类型
一.前言 接着上一篇继续记笔记 二.内容 动态的属性 var person = new Object(); person.name = "Nicholas&qu ...
- 20135239益西拉姆 Linux内核分析 汇编一个简单的c程序并分析其指令过程
益西拉姆+<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 第一周linux内核分析 学习笔记 一.计算机 ...
- 批量修改历史commit的用户名user.name邮箱user.email
配置当前的用户名邮箱可以当前项目配置或者全局配置. 仅当前项目配置: git config user.name 'your-user-name' git config user.email 'your ...