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一种用法,这里将做一个有关文件上 ...
随机推荐
- sharepoint content type publishing
1. Create 1 Project Team sites (Site1) on SharePoint(可以用普通site)2. Go to http://<PCName>:8080/_ ...
- Vue.js checkbox 练习
<div id="app"> <input type=" />足球 <input type=" />篮球 <input ...
- Collections带有的排序方法 传入的元素类型 需是子类或者这个类的实例
- zookeeper应用实例
创建持久节点和临时节点 ZooKeeper zk=new ZooKeeper(HOST,CLIENT_SESSION_TIMEOUT,new Watcher(){ @Override public v ...
- BZOJ 1965 洗牌(扩展欧几里得)
容易发现,对于牌堆里第x张牌,在一次洗牌后会变成2*x%(n+1)的位置. 于是问题就变成了求x*2^m%(n+1)=L,x在[1,n]范围内的解. 显然可以用扩展欧几里得求出. # include ...
- NetBeans IDE驱动报错The path to the driver executable must be set by the web driver.chrome.driver.system property......
问题:defaulstUserDataPath=C:\\Users\\user1\\AppData\\Local\\Google\\Chrome\\User Data\\Defaul 编译失败 解决 ...
- 两种方法实现TAB菜单及文件操作
1,自定义属性的方法实现----TAB菜单操作 cursor:pointer; 鼠标的小手 <!DOCTYPE html> <html lang="en"> ...
- Active Directory中获取域管理员权限的攻击方法
Active Directory中获取域管理员权限的攻击方法 译:by backlion 0x00 前言 攻击者可以通过多种方式在Active Directory中获得域管理员权限, ...
- 浴谷金秋线上集训营 T11738 伪神(树链剖分)
先树链剖分,一棵子树的编号在数组上连续,一条链用树链剖分,把这些线段全部取出来,做差分,找到有多少点被>=t条线段覆盖即可. #include<iostream> #include& ...
- BMP格式图像读取与存储
全局变量: 1 #include "stdafx.h" #include <windows.h> /*BMP位图数据是4字节对齐*/ #define WIDTHBYTE ...