`
smithsun
  • 浏览: 11300 次
  • 性别: Icon_minigender_2
  • 来自: 昆明
社区版块
存档分类
最新评论

CodeIgniter与jQuery.Uploadify的结合

阅读更多

CodeIngiter及jQuery.uploadify简介

CodeIngiter简称CI,是一个php框架,从ror上学习了很多东西,CI是一个完全MVC的框架,使用它可以快速的开发出WEB应用来,使用CI的应用的基本结构如下:

 

application/models #模型存储目录
application/views #视图存储目录
application/controllers #控制器存储目录

 

一个完整的CI项目的结构大致如下:

   

models目录中存储与数据库相关的php类,views中存储展现层面的php,事实上,views中的php多为HTML页面,其中嵌入一些相关的php脚本而已。控制器接受客户端请求,组织好数据(通过访问模型),然后跳转到特定的view上,整个流程基本如此。当然,CodeIgniter提供了很多便利的帮助类(helper),处理请求非常方便,比如数据库访问,URL分段,上传文件,邮件等等。使用这些帮助类,预定义模块,我们可以快速的进行WEB开发。

 

jQuery.uploadify是一个文件上传插件,有进度条控制,以及多个事件的钩子定义。比如,当上传完成之后,需要通知客户端处理的onComplete。支持多文件上传,取消上传等等控制,是一个比较全面的上传插件。更为完整的信息请参阅jquery.uploadify的官方主页。



 

 

最近的项目开发中,使用CI作为基础框架,但是涉及到上传部分,发现CI本身提供的不是很好用,就打算是使用uploadify,不过uploadify本身没有相关的例子。找了很长时间,好不容易调试通过一个,就整理整理吧。

 

在CI中使用uploadify

控制器部分:

<?php
class Upload extends Controller
{
	function Upload()
	{
		parent::Controller();
		$this->load->helper('form');
		$this->load->helper('url');
		$this->load->helper('json');
	}
	
	
	/*
	*	Display upload form
	*/
	function index()
	{
		
		$this->load->view('upload/view');
	}
	
}

 

CI的所有控制器需要继承Controller,然后默认的方法为index,我们在浏览器访问该控制器的时候,URL即为:http://localhost/pc/upload,可以看到index方法的内容为加载upload/view这个视图。我们再来看看view这个视图的内容:

 

<script type="text/javascript" language="javascript">
	$(document).ready(function(){				
		$("#upload").uploadify({
			uploader: '<?php echo base_url();?>resource/uploadify.swf',
			script: '<?php echo base_url();?>script/uploadify.php',
			buttonImg: '<?php echo base_url();?>resoure/browser.png',
			cancelImg: '<?php echo base_url();?>resoure/cancel.png',
			folder: '/uploads',
			scriptAccess: 'always',
			multi: true,
			'onError' : function (a, b, c, d) {
				 if (d.status == 404){
					alert('找不到文件');
				 }else if (d.type === "HTTP"){
					alert('error '+d.type+": "+d.status);
				 }else if (d.type ==="File Size"){
					alert(c.name+' '+d.type+' Limit: '+Math.round(d.sizeLimit/1024)+'KB');
				 }else{
					alert('error '+d.type+": "+d.text);
				 }
				},
			'onComplete'   : function (event, queueID, fileObj, response, data) {
				alert("文件上传成功:"+fileObj.filePath);		
			}
		});
	});
</script>

 

 当然,这里只是注册完成,还需要绑定触发事件,当点击一个link的时候,开始上传:

<?php echo form_open_multipart('upload/index');?>
	<label for="Filedata">选择一个文件</label><br/>
	<?php echo form_upload(array('name' => 'Filedata', 'id' => 'upload'));?>
	<a href="javascript:$('#upload').uploadifyUpload();">上传文件</a>
<?php echo form_close();?>

 

点击这里的上传文件之后,就可以上传文件至服务器端的/uploads文件夹下,当完成之后,由于我们此处注册了onComplete函数,因此会回调alert("文件上传成功"+flieObj.filePath),当然出错的话会根据状态码返回不同的错误信息,因为我们这里注册了onError事件处理器。

  • 大小: 6 KB
  • 大小: 6.2 KB
分享到:
评论
3 楼 alan.hee 2010-06-17  
<a href="javascript:$('#upload').uploadifyUpload();"> 上传文件</a> 

看了,一直是preventDefault() 。。。原来还可以这样呀。。。
2 楼 kjj 2010-06-01  
java版很好,按钮文字可以通过重新编译fla做到!!
1 楼 sarin 2010-06-01  
给个java版的传送门http://sarin.iteye.com/blog/489372

相关推荐

    CodeIgniter用户指南.chm(1.7.2)

    CodeIgniter用户指南.chm(1.7.2)CodeIgniter用户指南.chm(1.7.2)CodeIgniter用户指南.chm(1.7.2)CodeIgniter用户指南.chm(1.7.2)

    CodeIgniter_2.1.4.zip

    2.1.4是CodeIgniter的一个版本号,这表明我们正在讨论的是2012年左右发布的一个稳定版本。 在`CodeIgniter_2.1.4.zip`这个压缩包中,包含了一些核心文件和目录,它们构成了框架的基础架构: 1. `.gitignore`:这是...

    CodeIgniter and Ajax using jQuery.zip

    将CodeIgniter与Ajax和jQuery结合,可以创建动态、交互性强的Web应用。 在这个压缩包中,我们有以下几个关键文件和目录: 1. `CodeIgniter and Ajax using jQuery.htm`:这可能是项目的主要HTML文件,包含了用于...

    CodeIgniter-3.1.10.zip

    1. **MVC架构**:CodeIgniter基于Model-View-Controller设计模式,它将业务逻辑、数据处理和用户界面分离开来,提高了代码的组织性和可维护性。模型负责与数据库交互,视图负责显示数据,控制器作为两者之间的桥梁。...

    CodeIgniter_2.0.2.zip

    3. **安全与防护**:内置了防止SQL注入、XSS过滤等安全机制,保护了应用程序免受常见攻击。 4. **错误处理**:强大的错误处理机制,方便开发者调试和优化代码。 5. **模板引擎**:虽然CodeIgniter自身不包含模板...

    Ajax-codeigniter-voting.zip

    Ajax-codeigniter-voting.zip,投票系统php-ajax教程,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的情况下...

    Ajax-codeigniter-stripe.zip

    Ajax-codeigniter-stripe.zip,codeigniter 3.1.10中的简单条带支付网关集成(带bootstrap 4),ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,...

    Packtpub.CodeIgniter.1.7.Professional.Development.Apr.2010.rar

    《CodeIgniter 1.7 专业开发指南》是由Packtpub出版的一本关于Web开发的书籍,专注于CodeIgniter框架的使用与实践。CodeIgniter是一个轻量级的PHP框架,它为开发者提供了一个简单而优雅的工具包,用于构建功能强大的...

    CodeIgniter-2.1.4.chm CodeIgniter.chm CodeIgniter帮助文档

    CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包。...使用 CodeIgniter 可以减少代码的编写量,并将你的精力投入到项目的创造性开发上。 CodeIgniter 用户指南 版本 2.1.4 英文版

    CodeIgniter_2.0.0.zip

    4. 错误处理与调试:提供了强大的错误报告和调试工具,如显示错误信息、记录日志和Profiler,帮助开发者在开发过程中快速定位问题。 5. 安全性:CodeIgniter 2.0.0内置了安全防护措施,如XSS过滤、SQL注入预防和...

    CodeIgniter资料+ci+jquery范例

    CodeIgniter and Ajax using jQuery.zip (超赞的实例,代码非常简单) CodeIgniter+架构的说明教程.pdf CodeIgniter用户指南(版本1.7.2).chm ...Wrox,.Professional.CodeIgniter.(2008).BBL.[0470282452].pdf

    PacktPub.Programming.with.CodeIgniter.MVC.Sep.2013

    1. CodeIgniter安装与配置:介绍如何下载CodeIgniter框架,设置服务器环境,并完成项目的初始化设置。 2. MVC设计模式:解释Model、View和Controller各自的职责,以及它们在实际项目中的应用场景。 3. 控制器和视图...

    codeigniter_files.rar

    - **models** - 用于数据操作的类,通常与数据库交互,实现了业务逻辑。 - **views** - 视图文件,负责展示用户界面,通常由控制器调用。 - **config** - 存放应用的配置文件,可以设置全局变量、数据库连接、...

    CodeIgniter_2.1.3.zip

    5. **安全与防护**:包括XSS过滤、SQL注入防护、CSRF保护等,确保应用的安全性。2.1.3版本可能不包含最新的安全补丁,因此在实际生产环境中应考虑更新至更安全的版本。 6. **错误和日志处理**:内置的错误处理和...

    Ajax-codeigniter-migrate.zip

    Ajax-codeigniter-migrate.zip,管理数据库迁移的简单方法,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的...

    CodeIgniter-3.1.3.zip

    8. **插件与库**:CodeIgniter支持自定义和预置的库(如Email、Session、Image_lib等),提供扩展功能,满足不同项目需求。 9. **模板引擎**:虽然CI3默认不包含模板引擎,但可以通过第三方库如Twig或Phil Sturgeon...

    CodeIgniter.for.Rapid.PHP.Application.Development.pdf

    #### 一、CodeIgniter简介 **CodeIgniter(CI)**是一款功能强大的开源PHP框架,以其极小的脚印而著称。这款框架专为需要简单优雅工具集来创建全面的Web应用程序的PHP开发者设计。CI采用模型-视图-控制器(Model-...

    codeigniter-源码.rar

    5. 错误处理与日志:CodeIgniter提供了错误报告和日志记录功能,通过源码分析可以了解如何有效地处理运行时错误和调试信息。 6. 安全性:框架内建了输入过滤、输出编码、XSS防护等功能,确保应用程序的安全性。源码...

    CodeIgniter_2.1.1.zip

    这个版本发布于2011年,是CodeIgniter 2.x系列的一个稳定版,它在当时的Web开发环境中提供了强大的工具和功能。下面我们将深入探讨CodeIgniter 2.1.1的一些核心知识点。 首先,CodeIgniter是一个基于MVC(Model-...

Global site tag (gtag.js) - Google Analytics