请选择 进入手机版 | 继续访问电脑版

SpeedPHP框架

 找回密码
 注册成为新用户

QQ登录

只需一步,快速开始

查看: 49665|回复: 64

非常棒的文件上传类,共享一下

[复制链接]
发表于 2009-12-24 21:45:06 | 显示全部楼层 |阅读模式
首先声明非本人原创,不过这个类的确不错,除了文件上传的基本功能,还可以产生缩略图及打水印等功能,经本人测试,可以结合speendPHP很简单的使用。喜欢的,可以试试。 uploadFile.rar (4.33 KB, 下载次数: 1408)
 楼主| 发表于 2009-12-25 16:18:28 | 显示全部楼层
其实使用起来,很简单。下面就上传的使用举个简单的例子,这里是结合speedPHP使用的。
1、简单配置一下,可以使用外部类。
我这边是在项目目录下新建了一个plug文件夹用于放置外部类文件,把下载的uploadFile.php文件放到plug文件夹中。在index.php配置文件中配置:
'include_path'=>array( APP_PATH.'/plug',),
这样就可以在控制器类里面直接使用import('uploadFile.php');
2、新建控制器ToolBox(名字随意,保证类名和文件名一直),书写代码如下:

<?php
import("uploadFile.php");
class ToolBox extends spController {
  //上传类测试
  function upFile(){
   $this->title='文件上传';
   if($this->spArgs('up')){
    $upFlie=new uploadFile();
    $result=$upFlie->upload_file($_FILES['upfile']);
    $msg=$upFlie->errmsg;
    if($result){
     $this->success=$msg;
    }else {
     $this->errmsg=$msg;
    }
   }
  }
}
?>

就这么简单的几行代码,就可以了,当然还要一个视图文件。
3、建立视图。
细心的你可能会发现我上面的控制器中没有使用$this->display();语句,其实我是使用了sp强大的自动页面输出功能,当然在使用前要先配置一下,在配置文件中 'view'=>array(
  'auto_display'=>true,
),
这样简单的配置就可以了。
模板内容如下:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>{$title}</title>
</head>

<body>

<h1>{$title}</h1>
{if $success}
<p>{$success}  <a href="{spUrl c=ToolBox a=upFile}">继续上传</a><a href="{spUrl c=ToolBox a=index}">返回项目首页</a></p>
{elseif $errmsg}
<p>{$errmsg}  <a href="{spUrl c=ToolBox a=upFile}">重新上传</a></p>
{else}
<div class="mt mb">
<form method="POST" enctype="multipart/form-data" action="{spUrl c=ToolBox a=upFile}">
  <input type="file" name="upfile"/>
  <input type="submit" value="上传" class="btn" name="up"/>
</form>
</div>

</body>
</html>


上传功能就这样简单的实现了,当然这个类里面的其他功能使用方法同理,不过你可能要先熟悉一下这个类了。有问题请跟帖。

把现成的示例文件传上来吧,可以参考一下。压缩包里面的一些其他文件是个人练习使用的,偷懒一下,没有删除。 speed.rar (10.29 KB, 下载次数: 443)
发表于 2009-12-24 22:51:58 | 显示全部楼层
很不错的一个上传类,同时还有缩放图形和水印功能,是非常优良的一个扩展类。

感谢楼主的分享!
发表于 2009-12-25 08:46:01 | 显示全部楼层
注释很详细,可还是不知道怎么用?
楼主能举例说明吗?
一定做到物尽其用!!!
 楼主| 发表于 2009-12-25 09:00:27 | 显示全部楼层
谢谢支持,可以先仔细研究一下,个人感觉还是很有实用价值的。晚点举个简单的实例,我们一块学习,呵!
发表于 2009-12-25 15:04:25 | 显示全部楼层
非常不错,希望写个使用教程上来,谢谢。
发表于 2009-12-25 17:52:13 | 显示全部楼层
感谢 setlt 朋友的教程!

这里补充一下,由于预设了“'include_path'=>array( APP_PATH.'/plug',),” 的路径
因为spClass本身就是通过import来获取类的。
所以在使用上不需要import了,可以直接用
$upFlie=spClass(“uploadFile”);
是可以替代:
import("uploadFile.php");
$upFlie=new uploadFile();
-----
PS:sp团队以后将定期的挑选一些比较好的扩展类,作为sp框架默认的扩展类进行发布。希望大家更踊跃提供如楼主一样的优良的扩展类。
 楼主| 发表于 2009-12-25 20:53:09 | 显示全部楼层
感谢楼上的指点,看来要好好研究一下源码了,
发表于 2010-1-2 17:24:21 | 显示全部楼层
up up up
发表于 2010-1-3 01:13:30 | 显示全部楼层
好东西,感谢分享。
您需要登录后才可以回帖 登录 | 注册成为新用户

本版积分规则

手机浏览|简版|中文PHP框架|开源协议|SpeedPHP.com ( 粤ICP备08008671号

GMT+8, 2019-11-20 00:25

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表