1.表单文件(本例是_form.php,表单提交页面)
<?php $form=$this->beginWidget(‘CActiveForm’, array( ‘id’=>’product-form’, ‘htmlOptions’=>array(‘enctype’=>’multipart/form-data’),
‘enableAjaxValidation’=>false,)); ?>//指定文件上传表单,enctype属性一定是要设置的
<div> <?php echo $form->labelEx($model,’filename’); ?> <?php echo $form->FileField($model,’
filename’); ?> <?php echo $form->error($model,’filename’); ?> </div>//显示浏览文件
2.控制器动作(action)
$model=new Product;
if(isset($_POST['Product']))
{ $model->attributes=$_POST['Product'];
$file=CUploadedFile::getInstance($model,’filename’); //获取表单名为filename的上传信息
$filename=$file->getName(); //获取文件名
$filesize=$file->getSize(); //获取文件大小
$filetype=$file->getType(); //获取文件类型
$model->filename=$filename; //数据库中要存放文件名
$filename1=iconv(“utf-8″, “gb2312″, $filename);//这里是处理中文的问题,非中文不需要
$uploadfile=”./assets/upload/”.$filename1;
$file->saveAs($uploadfile,true);//上传操作
if($model->save()) //执行保存,写入数据库
$this->redirect(array(‘view’,'id’=>$model->id)); } //数据存放成功,跳转到view页面
$category=Category::model()->findAll(); //此处是为提交表单,传递分类信息
$this->render(‘create’,array( ‘model‘=>$model, ‘category’=>$category, )); }//交创建视图,并传递相应的信息,一是model,表单,二是category,分类信息
3.create.php(动作视图文件)
<?php echo $this->renderPartial(‘_form’, array(‘model’=>$model,‘category’=>$category)); ?>
4.view.php(页面显示)
<?php $this->widget(‘zii.widgets.CDetailView’, array( ‘data’=>$model, ‘attributes’=>array( ‘id’, ‘name’, ‘category_id’, ‘description’, array(
‘label’=>’filename’, ‘type’=>’raw’, ‘value’=>CHtml::link(CHtml::encode($model->filename),
“./assets/upload/”.CHtml::encode($model->filename)), ) ),)); ?>
分享到:
相关推荐
这个"yii2-file-upload-master.zip"压缩包包含了一个针对Yii2.0框架的图片上传扩展,特别设计来支持异步加载缩略图功能。这种功能在现代网页应用中非常常见,特别是在用户需要上传图像并即时查看预览效果时。 该...
- **功能**: 入口文件是整个Yii应用的第一个脚本,它负责加载Yii框架以及初始化应用。 - **内容**: 通常包含如下代码: ```php $yii = dirname(__FILE__) . '/../../framework/yii.php'; // Yii框架的位置 $...
### YII框架数据验证规则详解 #### 一、引言 在Web开发中,数据验证是确保应用程序安全性和用户体验的关键步骤之一。YII框架作为一款高效、安全且专业的PHP Web开发框架,提供了丰富的数据验证机制。本文将详细...
【标题】"docker-yii2-ci:持续集成(CI)环境中Yii2的基本映像" 提供了一个基于Docker的解决方案,用于在持续集成环境中高效、稳定地运行Yii2框架的应用程序。这个映像包含了开发和测试阶段所需的关键组件,确保了...
对于刚开始使用Yii框架的开发者,可以通过阅读相关专题文章来系统学习Yii框架,比如《Yii框架入门及常用技巧总结》等,这些都是很好的学习资源。同时,结合实际的开发案例和项目实践,能够更快地掌握Yii框架的高级...
Yii 框架中的 Rules 方法是用于模型(Model)验证的核心功能,它允许开发者定义一组规则来检查模型的属性是否符合预设的条件。这些规则主要用于确保用户输入的数据有效、安全,符合业务逻辑的要求。在Yii中,模型的...
本文将详细解释Yii框架中关于日志记录的相关配置以及日志的使用方法。日志系统在软件开发中扮演着极其重要的角色,它可以用于追踪程序运行状态、记录错误信息、优化性能、调试程序以及监控系统安全等方面。 一、Yii...
它负责加载Yii框架的核心文件并设置运行环境。 - **作用**: 初始化环境变量、加载配置文件、创建Web应用程序实例并运行。 - **示例代码**: ```php $yii = dirname(__FILE__) . '/../../framework/yii.php'; // ...
Yii框架中,上传图片的功能是通过CUploadedFile类实现的,这是一个针对上传文件信息封装的类。上传图片时,开发人员需要在模型(Model)、视图(View)和控制器(Controller)三个层面进行相应的编码和配置。 1. 模型...
Yii框架实现图片上传的功能涉及到多个关键组件,包括模型(Model)、控制器(Controller)和视图(View)。在Yii中,图片上传通常与ActiveRecord模型相结合,用于处理上传的文件验证和存储,控制器处理请求并调用...
这个插件旨在简化在Yii框架中实现图片上传功能的过程,尽管它主要是为高级版设计的,但通过一些调整,也可以适用于基础版。 首先,让我们深入了解一下Yii2.0框架。Yii2是基于组件、面向对象的PHP框架,它遵循MVC...
在YII2中,一个典型的带有文件上传功能的表单至少需要包含三个部分:一个表单标签(form),一个文件输入标签(input type="file"),以及一个提交按钮(input type="submit")。表单标签中需要指定请求的方法为post...
YII2框架内置了验证码组件,使得开发者可以轻松地在Web应用中集成验证码功能。 在YII2框架中使用验证码一般包括以下几个步骤: 1. **创建控制器(Controller)方法:** 在控制器中需要定义一个actions方法来配置...
在Yii框架中,上传文件和图片是常见的需求。本文将通过一个具体的实例来详细讲解如何在Yii中实现这个功能。 首先,我们来看一下HTML表单的创建,这通常位于一个名为`test.php`的视图文件中。表单用于用户选择要上传...
Yii2框架中的验证器(Validator)是用于对用户输入的数据进行校验的工具,以保证数据的正确性和完整性。以下内容将详细介绍Yii2验证器的用法,功能、格式和注意事项。 首先,Yii2的验证器使用方法主要是通过模型的...
在Yii中实现图片上传和缩略图生成涉及几个关键步骤,下面我们将详细介绍这些步骤。 1. **图片上传**: 在Yii中,图片上传通常通过`...以上就是Yii框架中实现图片上传及缩略图生成的基本步骤,希望对你有所帮助。
'file'规则告诉Yii2框架,我们期望用户上传的是一个文件。这个规则还会对上传的文件进行一些基本验证,比如确保文件类型是被允许的、文件大小在限制范围内等。 接下来,我们需要创建对应的视图文件来让用户选择文件...
在Upload类的rules方法中,我们使用了"file"验证规则,这是Yii2框架提供的一个验证器,它可以验证文件上传字段是否有效,并且可以指定文件类型、大小等验证选项。在这里,我们只是简单地使用了验证,没有指定具体的...