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一种用法,这里将做一个有关文件上 ...
随机推荐
- Windows配置java运行环境的步骤
jdk不同版本下载地址:http://www.oracle.com/technetwork/java/javase/archive-139210.html 1.下载你适合你电脑的jdk版本,链接如上, ...
- C++函数中的那些坑
平时写程序时,我们可能或多或少对一些用法感到朦胧,下面我对一些易困惑大家,或者易用错的地方作点介绍. 一.函数的一些注意点 1.函数返回类型不能是数组类型或函数类型,但可以是指向数组或函数的指针. 2 ...
- 【刷题】清橙 A1295 necklace
试题来源 清华大学2011年百名信息学优秀高中学子夏令营 问题描述 有人打算送给你一条宝石项链,包含了N颗五颜六色(一共有M种颜色)的宝石.因为本问题中你只关心每个宝石的颜色,而且项链现在两头还没有接 ...
- 【算法乱讲】BSGS
Description Given a prime P, 2 <= P < 231, an integer B, 2 <= B < P, and an integer N, 1 ...
- 【BZOJ4361】isn(动态规划,容斥)
[BZOJ4361]isn(动态规划,容斥) 题面 BZOJ 题解 首先我们如果确定了一个不降序列,假设它的长度为\(i\), 那么可行的方案数为\(i*(n-i)!\),但是这样有一些非法的情况,即 ...
- 监听input内容改变的oninput与onpropertychange在ie9的bug
在做autocomplate的时候发现,ie9中,剪切.退格.删除不触发oninput事件,而ie9和ie9+已经移除了onpropertychange事件. 只好尝试添加退格.delete.剪切事件 ...
- Linux基础------文件打包解包---tar命令,文件压缩解压---命令gzip,vim编辑器创建和编辑正文件,磁盘分区/格式化,软/硬链接
作业一:1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cat /etc/passwd /etc/group > /1.txt2) 将用户信息数据库文件和用户 ...
- HDU4003 树形DP
题意 :给一棵n个节点的树, 节点编号为1~n, 每条边都有一个花费值. 有k个机器人从S点出发, 问让机器人遍历所有边,最少花费值多少? 这题最难的地方应该就是如何定义状态了 定义dp ...
- python并行编程学习之绪论
计算机科学的研究,不仅应该涵盖计算处理所基于的原理,还因该反映这些领域目前的知识状态.当今,计算机技术要求来自计算机科学所有分支的专业人员理解计算机处理的基础的关键,在于知道软件和硬件在所有层面上的交 ...
- Codeforces 833B The Bakery dp线段树
B. The Bakery time limit per test 2.5 seconds memory limit per test 256 megabytes input standard inp ...