卐槑卍

卐槑卍

这家伙有点懒,还没写个性签名!

  • 财富值370
  • 威望值20
  • 总积分650

个人信息

  • 2019-02-13 已签到
    连续签到1天,获得了5个金钱
  • 2019-02-10 已签到
    连续签到3天,获得了15个金钱
  • 2019-02-09 已签到
    连续签到2天,获得了10个金钱
  • 2019-02-08 已签到
    连续签到1天,获得了5个金钱
  • 这个问题,困扰我好久了,借着过年,用了两天好好研究了一下,终于搞明白了。
    以下是我研究过程中写的备忘录,写作水平太水,你可以借鉴一下。

    ???上传文件时,调用saveAs()方法,传入的路径中,使用$model->photo->name,报错failed to open stream。
    经过研究发现:文件名为中文,改成英文或数字都正常上传。待研究处理。
    经过一天研究:此问题原因为编码引发的“血案”,windows默认编码为GBK(查看方法:开始->cmd->chcp,然后显示一个数字:如936,则代表是GBK简体中文),Linux 系统本身就是使用 UTF-8 来编码的,yii2.0编码格式为utf-8。
    在上传文件后,一般都会用 move_uploaded_file() 进行文件移动改名。但是 move_uploaded_file() 并不支持 UTF-8 编码,如果含有,那么函数就会执行失败,但是这个函数是支持 GB2312 或者是 GBK 编码的,在调用move_uploaded_file()方法前,通过mb_convert_encoding ( string $str , string 转换后,string 转换前),在存入数据库时,使用此函数转化为utf-8保存。

主管 等级规则
650/1000
资料完整度
50/100
用户活跃度
0/100

Ta的关注

0

Ta的粉丝

1

Ta的访客

4