我知道有很多关于这个问题的帖子,但是我觉得我已经采取了以前答案中提到的所有步骤,但我仍然没有运气。
我正在尝试上传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
时,是否有人有任何想法我会出错?
答案 0 :(得分:2)
为了让move_uploaded_files()
在您的脚本上正确运行,上传文件的目标文件夹必须为chmod 777
,这意味着每个人都可以在此文件夹中读取,写入和执行#39 ;;因为PHP被记录为' Public'因此无法写入没有公共写访问权限的文件夹。
您可以通过在Unix控制台上键入chmod -R 777 /your/upload/folder
或使用Windows上的“文件夹属性”菜单来执行此类操作。