move_uploaded_file()不适用于视频上传

时间:2014-08-20 11:14:28

标签: php

我知道有很多关于这个问题的帖子,但是我觉得我已经采取了以前答案中提到的所有步骤,但我仍然没有运气。

我正在尝试上传10MB的视频文件,并且我已对php.ini.htaccess文件进行了更改,但这两个文件都没有解决我的问题:

的.htaccess

# Restrict the maximum upload size to 32MB
php_value upload_max_filesize 32000000000
php_value post_max_size 32000000000

# Compensate for slow connection times, otherwise video uploads may not complete
php_value max_execution_time 99999999
php_value max_input_time 99999999

我知道FILE数据正确传递的事实a)文件内容反映了我上传的内容和b)我的上传条件一直满足move_uploaded_file()所在的块调用。

$ _文件内容

array(1) {
["video_file"]=>
    array(5) {
      ["name"]=>
        string(11) "pump2_c.mp4"
      ["type"]=>
        string(9) "video/mp4"
      ["tmp_name"]=>
        string(14) "/tmp/php301tts"
      ["error"]=>
        int(0)
      ["size"]=>
        int(8368613)
    }
}

当我要求移动我的视频文件时,我运行

move_uploaded_file($_FILES['video_file']['tmp_name'], './public/video/' . $_FILES['video_file']['name']);

然而,每当我var_dump()方法的结果总是返回false时,是否有人有任何想法我会出错?

1 个答案:

答案 0 :(得分:2)

为了让move_uploaded_files()在您的脚本上正确运行,上传文件的目标文件夹必须为chmod 777,这意味着每个人都可以在此文件夹中读取,写入和执行#39 ;;因为PHP被记录为' Public'因此无法写入没有公共写访问权限的文件夹。

您可以通过在Unix控制台上键入chmod -R 777 /your/upload/folder或使用Windows上的“文件夹属性”菜单来执行此类操作。