多文件上传其实就包括了图片及各种文件了,下面介绍的是一款PHP多文件上传类,一共两个文件,upp.php 和 uploadFile.php,upp.php,这是前台所显示的表单文件了,默认的是四个上传文件域,我们可以手动进行修改,另外这个页面嵌套了 uploadFile.php 文件上传类,下面一起来看例子.

php文件上传例子,代码如下:<?php

header('content-type:text/html;charset=utf-8');

require ('uploadFile.php');

if (isset($_POST['submit'])) {

$uploads = $_FILES['file'];

$num_file = count($uploads['name']);

$up = new UploadFile($uploads, 'uploads', 1024);

$num = $up->upload();

if ($num == $num_file) {

echo '全部文件上传成功';

exit;

} else {

echo $num, '个文件上传成功
';

echo $up->showErrorInfo();

exit;

}

}

?>html>

无标题文档

/*------------*/

class UploadFile {

var $user_post_file = array();

var $save_file_path = '';

var $max_file_size = '';

var $allow_type = array('gif','jpg','png','zip','rar','txt','doc','pdf');

var $final_file_path = '';

var $save_info = array();

var $error_info = array();

/**

*构造函数,用于初始化信息。

*

*@param Array $file

*@param String $path

*@param Integer $size

*@param Array $type

*/

function __construct($file, $path, $size = 2097152, $type = '') {

$this->user_post_file = $file;

$this->save_file_path = $path;

$this->max_file_size = $size;

if (!$type = '') {

$this->allow_type[] = $type;

}

}

/**

*

*

*@access public

*@return int

*/

function upload() {

for ($i = 0; $i user_post_file['name']); $i++) {

if ($this->user_post_file['error'][$i] == 0) { //上传文件状态正常

//获取当前文件名,临时文件名,大小,类型,扩展名

$name = $this->user_post_file['name'][$i];

$tmp_name = $this->user_post_file['tmp_name'][$i];

$size = $this->user_post_file['size'][$i];

$type = $this->user_post_file['type'][$i];

$ext_name = $this->getExtName($name);

//文件大小

if (!$this->checkSize($size)) {

$this->error_info[] = '您上传的文件:' . $name . '太大';

continue;

}

//扩展名

if (!$this->checkType($ext_name)) {

$this->error_info[] = '您上传的文件:' . $name . '不合法';

continue;

}

//非法上传

if (!is_uploaded_file($tmp_name)) {

$this->error_info[] = '您上传的文件:' . $name . '属于非法提交';

continue;

}

//

$basename = $this->getBaseName($name, "." . $ext_name);

$final_filename = $basename . '-' . time() . '-' . rand(1, 10000) . '.' . $ext_name;

$this->final_file_path = $this->save_file_path . '/' . $final_filename;

if (!move_uploaded_file($tmp_name, $this->final_file_path)) {

$this->error_info = $this->user_post_file['error'][$i];

continue;

}

//

$this->save_info[] = array(

"name" => $name,

"ext_name" => $ext_name,

"type" => $type,

"size" => $size,

"final_filename" => $final_filename,

"path" => $this->final_file_path

);

}

}

return count($this->save_info);

}

/*

*检查用户上传文件的大小时候合法

*

*@param Integer $size

*@access private

*@return boolean

*/

function checkSize($size) {

if ($size > $this->max_file_size) {

return FALSE;

}

return TRUE;

}

/*

*检查用户上传文件的类型是否合法

*

*@access private

*@return boolean

*/

function checkType($extension) {

foreach ($this->allow_type as $type) {

if (strcasecmp($extension, $type) == 0) {

return TRUE;

}

}

return FALSE;

}

/*

*获取文件的扩展名

*

*@param string $filename

*@access private

*@return string

*/

function getExtName($filename) {

$p = pathinfo($filename);

return $p['extension'];

}

/*

*获取文件名(不包括扩展名)

*

*@param string $filename

*@param string $type

*@access private

*@return boolean

*/

function getBaseName($filename, $ext_name) {

$basename = basename($filename, $ext_name);

return $basename;

}

/*

*

*

*

*/

function showErrorInfo() {

if (count($this->error_info) != 0) {

//echo 'error...
';

foreach ($this->error_info as $k => $v) {

echo ($k + 1) , ':', $v, '
';

} //开源代码phprm.com

}

}

function getSaveInfo() {

return $this->save_info;

}

}

//$upload = new UploadFile('','');

//$upload = new UploadFile();

//$upload->showErrorInfo();

转载随意^^请带上本文地址!

php多图片上传程序2.4.3,php多文件上传 多图片上传程序代码相关推荐

  1. 【偷偷收藏】10个免费的图片压缩、格式转换、去水印、PDF文件转word、图片转PDF、word等处理网站

    目录 4 个文件处理在线网站 ilovepdf smallpdf convertio docsmall 3 个图片工具在线网站 tinify 智图 ezgif 3 个无版权图片在线网站 pexels ...

  2. python图片保存重命名_Python实现重命名一个文件夹下的图片

    在网上查了一下python实现的图片重命名,工作中刚好用一下. 1 # -*- coding:utf8 -*- 2 import os 3 path = '新建文件夹 (2)/' 4 filelist ...

  3. java 上传文件及预览_SpringBoot上传下载文件及在线预览

    SpringBoot上传下载文件及在线预览 今天大概就说说如何使用SpringBoot进行上传和下载以及在线预览文件 本篇主要介绍上传下载的功能,对于界面就简单一点,大致如下: 一.老规矩还是先看看小 ...

  4. java ftp 上传文件 进度条_java FTP上传文件(进度条显示进度)

    java实现FTP上传有2种方式,一种是org.apache.commons.net.ftp.FTPClient这个jar包,一种是sun.net.ftp.FtpClient.不知道为什么,在使用前一 ...

  5. 基于TCP网络通信的自动升级程序源码分析-客户端接收文件

    升级程序客户端接收文件 /// <summary>/// 文件数据缓存 索引是 ConnectionInfo对象 数据包的顺序号 值是数据/// </summary>Dicti ...

  6. PowerBuilder程序暴力破解实例(PBD文件编辑法)

    本文转载自: http://www.cnblogs.com/athrun/archive/2008/07/10/1239906.html 作者:Athrun 转载请注明该声明. go google s ...

  7. asp如何将图片文件上传到mysql数据库中_怎样才能利用ASP把图片上传到数据库

    欢迎来到小编的文章进行学习阅读,想必大家又有很多问题吧,在这里会有你想要收获的答案,请大家慢慢学习吧! ASP(Active Server Pages)是Microsoft很早就推出的一种WEB应用程 ...

  8. 微信小程序之使用vant-3组件Uploader文件上传

    效果图: 微信小程序之使用vant-3组件Uploader文件上传 1.把vant的weapp包加进来 2.在app.json文件里面"usingComponents"加载进来才能 ...

  9. jsp 图片上传到oracle,jsp上传图片到数据库(oracle),并能在页面上显示解决办法

    jsp上传图片到数据库(oracle),并能在页面上显示解决办法 jsp上传图片到数据库(oracle),并能在页面上显示解决办法 日期:2014-05-18 浏览次数:20341 次 jsp上传图片 ...

最新文章

  1. 轻松记账工程冲刺第二阶段10
  2. xHTML+div布局:三个div,两边div宽度固定,中间div宽度自适应
  3. shell定时执行hive脚本文件
  4. 后盾网lavarel视频项目---模型一对多关联简单实例
  5. 0.5s c语言延时子程序集,用C语言实现精确的延时.doc
  6. 【流媒体服务器的搭建】2. 源码编译安装ffmpeg
  7. 编辑器source insight,sublime,编码 utf-8和 GB2312
  8. HTML之position:absolute relative static fixed的区别和理解
  9. 面试题——20190717
  10. Win11系统如何设置任务栏新消息提醒
  11. JavaScript重难点解析1(数据类型——var、let、const区别,类型补充,“===”、“typeof”、“instanceof”区别,Symbol数据类型)
  12. SpringMVC 之类型转换Converter 源代码分析
  13. Visual Studio 2010 (ASP.Net 4.0)新功能一览(转载)
  14. spring boot项目搭建 连接数据库完成项目基础架构布局
  15. 用MarkDown写PPT
  16. Android应用签名、打包实际操作
  17. 中标麒麟linux系统安装打印机_国产中标麒麟操作系统的打印机安装
  18. cpu空载50度,大热天,cpu都上50度了! -
  19. 赶紧收藏!41个Web UI工具包资源免费及付费下载
  20. 【mssql】SQL Server2012编程入门经典(第四版)(上) 读书笔记

热门文章

  1. 一次系统调用开销到底有多大?strace、time、perf命令
  2. Dajngo之ajax(get和post)请求(亲测)
  3. win10连接VMWare下的Ubutun系统进行FPT文件传输
  4. python--(pickle)文件读写
  5. 计算机在职研究生网络班,在职研究生网络班是什么意思
  6. python中size_x的意思,对pytorch中x = x.view(x.size(0), -1) 的理解说明
  7. Java-Concurrent 线程池ThreadPoolExecutor使用
  8. c语言突然出现图片,c语言能显示图片吗
  9. mysql数据库自增字段_mysql 数据库自增字段
  10. Cmake-add_library()