yii2上传文件失败

yii2上传文件失败

我们先来看一下代码:

首先看一下View部分:

<form action="" method="post" enctype="multipart/form-data">            

上面的action是用YII的助手类构建了一个内部可以识别的url,就是DeaufaultController.php中的actionDatafile()

(推荐教程:yii框架)

 public function actionDatafile(){        if(empty($_FILES)){            $status = 1;            $info = '没有文件上传';        }        if($_FILES['myFile']['error'] === 0 || $_FILES['myFile']['error'] === '0' ){            //文件上传成功            $tmp = pathinfo($_FILES['myFile']['name']);            $new_fname = $tmp['filename'].'_'.rand(1000000,9999999).'.'.$tmp['extension'];            echo $new_fname;            if(!move_uploaded_file($_FILES['myFile']['tmp_name'], '../runtime/file/'.$new_fname)){                $status = 1;                $info = '上传(移动)失败';            }else{                $status = 0;                $info = '上传成功';            }        } else {            //文件上传失败            $info = '文件上传失败';            switch($_FILES['myFile']['error']){                case 1:                    $info = '上传文件超过php.ini中upload_max_filesize配置参数';                    break;                case 2:                    $info = '上传文件超过表单MAX_FILE_SIZE选项指定的值';                    break;                case 3:                    $info = '文件只有部份被上传';                    break;                case 4:                    $info = '没有文件被上传';                    break;                case 5:                    $info = '上传文件大小为0';                    break;            }            $status = 1;        }        return $info;    }

执行后发现

ab926130396ae0a60ef972b5642e1a0.png

解决方法:

Cutout老照片上色 Cutout老照片上色

Cutout.Pro推出的黑白图片上色

Cutout老照片上色 20 查看详情 Cutout老照片上色

1、检查配置(php.ini)

file_uploads、upload_max_filesize、post_max_size、upload_tmp_dir是否已设置。

2、检查参数

发现参数中的crsf,这个参数是yii框架验证所带,提及验证,便和错误提示相仿,添加取消验证代码,如下:

public function beforeAction($action)    {        if ($action->id == 'datafile') {            $this->enableCsrfValidation = false;        }         return parent::beforeAction($action);    }

更多编程相关内容,请关注创想鸟编程入门栏目!

以上就是yii2上传文件失败的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/359896.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月6日 02:26:49
下一篇 2025年11月6日 02:28:27

相关推荐

  • yii2与laravel框架的比较

    一、从开发速度方面比较 yii 借助于gii脚手架,可以快速生成代码,也就是说搭建一个可以增删改查的系统可能一行代码都不用写,而且集成了jquery和bootstrap,特效和样式基本也不需要写了。这对于设计和审美能力普遍较差的后端程序员来说简直是一大福利。 而laravel的artisan工具和y…

    2025年11月27日 PHP框架
    100
  • composer如何更新yii2版本

    composer如何更新yii2版本 方法包括两种: 1).如果你是通过 composer 从 Yii 2.0.0 升级,只需要在您的项目根目录运行以下命令: 首先,确认您安装了最新版本的 Composer 资源插件(https://github.com/francoispluchino/compo…

    2025年11月27日 PHP框架
    000
  • yii2如何打开gii

    yii2打开gii的方法:首先检查“config/web.php”文件中的配置代码;然后打开“web/index.php”文件;最后将“YII_ENV_DEV”设为“true”即可。 yii2 gii开启 gii模块可以通过配置yiibaseApplication::modules属性开启它。在co…

    2025年11月25日 PHP框架
    000
  • Yii2错误处理怎么配置_Yii2框架错误与异常处理机制

    Yii2通过ErrorHandler组件统一处理错误与异常,配置errorAction指向site/error动作以显示友好页面,结合YII_DEBUG与YII_ENV区分环境,生产环境关闭调试信息并记录日志,可自定义ErrorHandler类处理特定异常,提升安全性与可维护性。 Yii2 的错误与…

    2025年11月25日 后端开发
    000
  • yii2的优势在哪儿

    %ignore_a_1%容易学习和使用。   (推荐学习:yii教程) 只需要知道PHP和面向对象编程,便可以很快上手,而不必事先去学习一种新的架构或者模板语言。 用yii2的开发速度非常之快,除框架本身之外,需要为应用所写的编码极少。造就了yii2是最高效的开发框架之一。 yii2 具有高度的可重…

    2025年11月22日
    000
  • yii2如何实现国际化

    国际化指的是在设计软件时,使其可以无需做大的改变就能够适应不同的语言和地区的需要, 这对我们的网站有着特别重要的意义,因为潜在的用户可能会在全球范围内。而 yii 提供的国际化功能(i18n组件)支持全方位信息翻译,视图翻译,日期和数字格式化。 因为有国际化服务这样方便的设置,当我们需要实现一个网站…

    2025年11月22日
    000
  • yii2如何关闭debug

    这里采用的是yii2的advanced的版本。配置接口访问的debug模式。 配置文件目录: frontend/config/main-local.php           (推荐学习:yii教程) 配置内容: if (!YII_ENV_TEST) { // configuration adjus…

    2025年11月22日
    000
  • yii2怎么进行http请求处理

    VerbFilter VerbFilter 是针对 HTTP 请求方式的过滤器,作用是定义访问指定动作所允许的HTTP请求,若不允许的HTTP请求到来,则会抛出一个 HTTP 405 错误。若不指定允许的请求方式,则默认允许当所有类型的请求方式 。         (推荐学习:yii教程) 接下来,…

    2025年11月22日
    000
  • yii2判断是否是post提交表单

    %ign%ignore_a_1%re_a_1%判断是否是post提交表单 判断post提交 if(Yii::$app->request->isPost){ return true; }else{ return false; } 判断get提交 if(Yii::$app->reque…

    2025年11月22日
    000
  • yii2您提交的数据无法被验证怎么解决

    %ign%ignore_a_1%re_a_1%您提交的数据无法被验证怎么解决 在 yii 中,经常会碰到 您提交的数据无法被验证 这种情况,这是因为 yii 有一个 csrf 验证, 关闭csrf验证 a)在控制器中添加 public $enableCsrfValidation = false; b…

    2025年11月22日
    000
  • yii2计划任务不成功怎么解决

    %ign%ignore_a_1%re_a_1%计划任务不成功怎么解决 用Yii2的console写了个脚本,在命令行执行都OK。放到cron里面也按时去执行了,但就是执行的效果不对,console脚本执行结果不对。 查看之后的是由于yii脚本的php路径问题(根目录下面的yii) 需要将以下代码的第…

    2025年11月22日
    000
  • yii2关闭错误提示

    %ign%ignore_a_1%re_a_1%关闭错误提示 在 Yii2 使用中,我们发现一但程序出现错误,Yii2 就能自动显示其专用的错误提示界面,和我们写原生态时出现的错误提示界面完全不一样。 其实 PHP 有自己专用的错误处理 API, 当程序出现问题时,可以自动调用指定函数。而 Yii2 …

    2025年11月22日
    000
  • YII2中andWhere如何多个or查询

    %ign%ign%ignore_a_1%re_a_1%e_a_1%中andwhere如何多个or查询 使用多个or的复杂查询: AND ((`name`=’张三’) OR (`name`=’李四’) OR (`name`=’王五’)) // AND ((`name`=’张三’) OR (`name`…

    2025年11月22日
    000
  • yii2页面乱码解决方法

    %ignore_a_1%页面乱码解决方法: 在数据库配置中配置编码格式就可以了: ‘yiidbConnection’, ‘dsn’ => ‘mysql:host=127.0.0.1; dbname=ohmycto; charset=utf8’, ‘username’ => ‘websit…

    2025年11月21日
    000
  • yii2 怎么上传图片

    第一步:搭建上传类基础工作,具体请看:http://www.yiichina.com/tutorial/328 第二步:建站一个product表,字段id,name,picurl. 第三步:GII生成PRODUCT 模型,类,视图。 第四步: main.css 放在frontendwebcss.on…

    2025年11月21日
    000
  • yii1和yii2的区别是什么

    2.0 版框架是完全重写的,在 1.1 和 2.0 两个版本之间存在相当多差异。 Yii 2.0 需要 PHP 5.4 或更高版本,该版本相对于 Yii 1.1 所需求的 PHP 5.2 而言有巨大的改进。 1、应用程序实例直接使用全局命名变量来访问:$app,而无须调用app()。 2、Yii2在…

    2025年11月21日
    000
  • yii2 用户登录用什么缓存

    面对一些需要耗时计算的短时间内不会变动太大的数据,常常使用缓存 【DataCache】 在配置文件main.php中components项下配置 ‘cache’ => [ ‘class’ => ‘yiicaching’FileCache’,], Yii::$app->cache-&…

    2025年11月21日
    000
  • yii2怎么样生成验证码

    1、在控制器添加一下代码 public function actionCaptcha(){ $c = Yii::createObject(‘yiicaptchaCaptchaAction’, [‘__captcha’, $this]); $c->getVerifyCode(true); ret…

    2025年11月21日
    000
  • yii2框架怎么写子查询

    在yii中使用子查询的方法 第一步,先创建一个子查询,可以是基于 yiidbQuery 创建,也可以基于Model。 $subQuery = Order::find()->where([‘user_id’ => $userId])->andWhere([‘status’ =>…

    2025年11月21日
    000
  • yii2怎么获取sql语句?

    yii2 是一个高性能的基于组件的 php 框架,使用yii2能够方便的操作数据库,下面我们介绍下yii2获取当前sql语句的方法,希望对学习yii框架的同学有帮助! yii2怎么获取sql语句? 我们在用YII2开发项目的时候,会查看当前执行的SQL语句来排查错误,那么YII2该如何获取当前的SQ…

    2025年11月20日
    100

发表回复

登录后才能评论
关注微信