请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

找不到move()方法

控制台报错了,说是找不到move方法:

https://img1.sycdn.imooc.com//szimg/5b02e5f800013a2017621210.jpg

代码:

<?php
namespace app\admin\controller;
class Image
{
    public function index(){
//      这里的file是$_FILES中的key值
        print_r($_FILES);
        $file = request()->file('file');
        print_r($file);
        $info = $file->move('upload');
        echo 'info:'.'<br/>';
        print_r($info);
    }
}

$_FILES和$file是包含了正确的信息,如下是打印出来的信息:

https://img1.sycdn.imooc.com//szimg/5b02e66c0001910312981192.jpg

文件的基本信息是可以正常输出的,但是move()方法会报错说这个方法是空的,打印$info没有内容,文件也没有上传成功。

我的环境:

系统: MacOS

框架是:TP5


正在回答

3回答

您好 您看看这个是否能帮到您

https://coding.imooc.com/learn/questiondetail/55878.html

0 回复 有任何疑惑可以回复我~
  • 提问者 BingXiong #1
    学的时候没有管这个问题,现在使用swoft的时候也遇到了这个问题,问题解决了,回来记录解决方法。和老师推荐回答差不多,我用了另一个更直接的方法,报错的消息是/tmp文件夹没有访问权限,我曾尝试chmod /tmp的权限,但是没有用,后来看到说这个/tmp的权限是关联在/private/tmp的权限,因此修改的应该private/tmp这个文件,直接php bin/swoft start就可以了,现在move()和swoft的运行都正常了。回答在这里苹果的论坛上:https://discussions.apple.com/thread/2024518?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa大家要是遇到了可以看看
    回复 有任何疑惑可以回复我~ 2018-05-27 17:50:02
  • 提问者 BingXiong #2
    写错了是直接sudo chmod 777 /private/tmp....
    回复 有任何疑惑可以回复我~ 2018-05-27 17:51:12
  • singwa 回复 提问者 BingXiong #3
    赞。解决了就好。祝学习愉快
    回复 有任何疑惑可以回复我~ 2018-05-27 23:44:28
kingofzihua 2018-06-14 16:31:17

我怎么感觉不是这个问题啊,没有move方法 前面所调用的东西是一个null啊,所以说根本就没有获取到图片怎么可能回出现权限的问题呢? 我这个测试了,只有第一次的时候能够正常使用,你要是第二次请求这个方法 他就获取不到了,就返回null,我猜测是request 类里面的问题

0 回复 有任何疑惑可以回复我~
  • 我已经块放弃这个swoole+ tp5了,这东西没什么鸟用啊, 不是改几个地方就能解决的,你差不多得把框架全改了才行,各种报错,  传统的fpm框架 和swoole 常驻内存类型的东西不一样, 根本就不是那么简单的东西
    回复 有任何疑惑可以回复我~ 2018-06-14 16:33:32
提问者 BingXiong 2018-05-22 01:07:15

看到网上说该php.ini的上传文件10M,我改了但是还是不行

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信