0

0

PHP100精华:PHP上传类支持缩略图

php中文网

php中文网

发布时间:2016-06-13 10:37:31

|

1245人浏览过

|

来源于php中文网

原创

  实例:

  1、创建文件upfile.php,代码如下

  //如果收到表单传来的参数,则进行上传处理,否则显示表单

  if(isset($_FILES[uploadinput])){

  //建目录函数,其中参数$directoryName最后没有"/",

立即学习PHP免费学习笔记(深入)”;

  //要是有的话,以/打散为数组的时候,最后将会出现一个空值

  function makeDirectory($directoryName) {

  $directoryName = str_replace("\","/",$directoryName);

  $dirNames = explode(/, $directoryName);

  $total = count($dirNames) ;

  $temp = ;

  for($i=0; $i

  $temp .= $dirNames[$i]./;

  if (!is_dir($temp)) {

  $oldmask = umask(0);

  if (!mkdir($temp, 0777)) exit("不能建立目录 $temp");

  umask($oldmask);

  }

  }

  return true;

  }

  if($_FILES[uploadinput][name] ""){

  //包含上传文件类

  require_once (class_upload.php);

  //设置文件上传目录

  $savePath = "upload";

  //创建目录

  makeDirectory($savePath);

  //允许的文件类型

  $fileFormat = array(gif,jpg,jpge,png);

  //文件大小限制,单位: Byte,1KB = 1000 Byte //2cto.com

  //0 表示无限制,但受php.ini中upload_max_filesize设置影响

  $maxSize = 0;

  //覆盖原有文件吗? 0 不允许 1 允许

  $overwrite = 0;

  //初始化上传类

  $f = new clsUpload( $savePath, $fileFormat, $maxSize, $overwrite);

  //如果想生成缩略图,则调用成员函数 $f->setThumb();

  //参数列表: setThumb($thumb, $thumbWidth = 0,$thumbHeight = 0)

  //$thumb=1 表示要生成缩略图,不调用时,其值为 0

  //$thumbWidth 缩略图宽,单位是像素(px),留空则使用默认值 130

  //$thumbHeight 缩略图高,单位是像素(px),留空则使用默认值 130

  $f->setThumb(1);

  //参数中的uploadinput是表单中上传文件输入框input的名字

  //后面的0表示不更改文件名,若为1,则由系统生成随机文件名

  if (!$f->run(uploadinput,0)){

  //通过$f->errmsg()只能得到最后一个出错的信息,

  //详细的信息在$f->getInfo()中可以得到。

  echo $f->errmsg()."
";

  }

  //上传结果保存在数组returnArray中。//2cto.com

  echo "

";

  print_r($f->getInfo());

  echo "

";

 

维克企业管理系统全能.NET版2009
维克企业管理系统全能.NET版2009

采用.NET CLR2.0、VS2005及SQL2000,前台页面使用用DIV+CSS开发;可以使用动态化运行,也可以采用全部静态化动作,甚至自己定义模板;后台信息编辑器采用最新版FCKeditor;产品信息可导出为EXCEL、WORD、PDF等格式存储;产品信息可以通过EXCEL模板批量导入;产品分类采用无限级分类;产品图片上传支持图片水印和文字水印,同时支持自动生成缩略图功能;电子邮件发送支持

下载

  }

  }else{

  ?>

  

  Send this file:
 

  
 

  
 

  
 

  
 

  

  2、创建文件class_upload.php,代码如下

  

  class clsUpload{

  var $saveName;// 保存名

  var $savePath;// 保存路径

  var $fileFormat = array(gif,jpg,doc,application/octet-stream);// 文件格式&MIME限定

  var $overwrite = 0;// 覆盖模式

  var $maxSize = 0;// 文件最大字节

  var $ext;// 文件扩展名

  var $thumb = 0;// 是否生成缩略图

  var $thumbWidth = 130;// 缩略图宽

  var $thumbHeight = 130;// 缩略图高

  var $thumbPrefix = "_";// 缩略图前缀

  var $errno;// 错误代号

  var $returnArray= array();// 所有文件的返回信息

  var $returninfo= array();// 每个文件返回信息

  // 构造函数

  // @param $savePath 文件保存路径

  // @param $fileFormat 文件格式限制数组

  // @param $maxSize 文件最大尺寸

  // @param $overwriet 是否覆盖 1 允许覆盖 0 禁止覆盖

  function clsUpload($savePath, $fileFormat=,$maxSize = 0, $overwrite = 0) {

  $this->setSavepath($savePath);

  $this->setFileformat($fileFormat);

  $this->setMaxsize($maxSize);

  $this->setOverwrite($overwrite);

  $this->setThumb($this->thumb, $this->thumbWidth,$this->thumbHeight);

  $this->errno = 0;

  }

  // 上传

  // @param $fileInput 网页Form(表单)中input的名称

  // @param $changeName 是否更改文件名

  function run($fileInput,$changeName = 1){

  if(isset($_FILES[$fileInput])){

  $fileArr = $_FILES[$fileInput];

  if(is_array($fileArr[name])){//上传同文件域名称多个文件

  for($i = 0; $i

  $ar[tmp_name] = $fileArr[tmp_name][$i];

  $ar[name] = $fileArr[name][$i];

  $ar[type] = $fileArr[type][$i];

  $ar[size] = $fileArr[size][$i];

  $ar[error] = $fileArr[error][$i];

  $this->getExt($ar[name]);//取得扩展名,赋给$this->ext,下次循环会更新

  $this->setSavename($changeName == 1 ? : $ar[name]);//设置保存文件名

  if($this->copyfile($ar)){

  $this->returnArray[] = $this->returninfo;

  }else{

  $this->returninfo[error] = $this->errmsg();

  $this->returnArray[] = $this->returninfo;

  }

  }

  return $this->errno ? false : true;

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
虚拟号码教程汇总
虚拟号码教程汇总

本专题整合了虚拟号码接收验证码相关教程,阅读下面的文章了解更多详细操作。

29

2025.12.25

错误代码dns_probe_possible
错误代码dns_probe_possible

本专题整合了电脑无法打开网页显示错误代码dns_probe_possible解决方法,阅读专题下面的文章了解更多处理方案。

20

2025.12.25

网页undefined啥意思
网页undefined啥意思

本专题整合了undefined相关内容,阅读下面的文章了解更多详细内容。后续继续更新。

37

2025.12.25

word转换成ppt教程大全
word转换成ppt教程大全

本专题整合了word转换成ppt教程,阅读专题下面的文章了解更多详细操作。

6

2025.12.25

msvcp140.dll丢失相关教程
msvcp140.dll丢失相关教程

本专题整合了msvcp140.dll丢失相关解决方法,阅读专题下面的文章了解更多详细操作。

2

2025.12.25

笔记本电脑卡反应很慢处理方法汇总
笔记本电脑卡反应很慢处理方法汇总

本专题整合了笔记本电脑卡反应慢解决方法,阅读专题下面的文章了解更多详细内容。

6

2025.12.25

微信调黑色模式教程
微信调黑色模式教程

本专题整合了微信调黑色模式教程,阅读下面的文章了解更多详细内容。

5

2025.12.25

ps入门教程
ps入门教程

本专题整合了ps相关教程,阅读下面的文章了解更多详细内容。

4

2025.12.25

苹果官网入口直接访问
苹果官网入口直接访问

苹果官网直接访问入口是https://www.apple.com/cn/,该页面具备0.8秒首屏渲染、HTTP/3与Brotli加速、WebP+AVIF双格式图片、免登录浏览全参数等特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

218

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP开发微信公众号视频教程
PHP开发微信公众号视频教程

共5课时 | 1.6万人学习

最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 0.6万人学习

麻省理工大佬Python课程
麻省理工大佬Python课程

共34课时 | 4.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号