1.php.ini设置上传文件配置
1.1.php.ini修改php上传文件大小限制的方法详解
打开php.ini,首先找到file_uploads = on ;是否允许通过HTTP上传文件的开关。
默认为ON即是开upload_tmp_dir ;
文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹upload_max_filesize = 8m;
望文生意,即允许上传文件大小的最大值。默认为2Mpost_max_size = 8m ;
指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。
默认为8M一般地,设置好上述四个参数后,上传<=8M的文件是不成问题,在网络正常的情况下。
但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。
进一步配置以下的参数max_execution_time = 600 ;
每个PHP页面运行的最大时间值(秒),默认30秒max_input_time = 600 ;
每个PHP页面接收数据所需的最大时间,默认60秒memory_limit = 8m ;
每个PHP页面所吃掉的最大内存,默认8M把上述参数修改后,在网络所允许的正常情况下,就可以上传大体积文件了。
max_execution_time = 600
max_input_time = 600
memory_limit = 32m
file_uploads = onupload_tmp_dir = /tmpupload_max_filesize = 32mpost_max_size = 32m
1.2.下载文件需要修改php.ini文件
php.ini加入这样一行:extension=php_fileinfo.dll
或者把extension=php_fileinfo.dll前面的#去掉
2.ueditor编辑器的添加的视频、文字内容传到数据库格式如下:
<p><videoclass="edui-Upload-video vjs-default-skin video-js" controls=""preload="none" width="420"height="280"src="/news/ueditor/php/upload/video/20170827/1503814333282116.mp4"data-setup="{}"><sourcesrc="/news/ueditor/php/upload/video/20170827/1503814333282116.mp4"type="video/mp4"/></video></p>
function download_video(){
$id=$_GET['id'];
$news=D('News');
$fileInfo=$news->where("del_flag=0")->find($id);
// 获取站点目录
$webRoot=dirname(dirname(dirname(dirname(dirname(__FILE__)))));
$video_src=htmlspecialchars_decode($fileInfo['content']);
// 利用正则表达式,得到数据库中的video的src,只有一个视频情况下 IE6、7、8不支持video标签,所以只能下载视频,不能在线播放
preg_match_all('/<video.*?src="(.*?)".*?>/is',$video_src,$array_src);
$filename =$webRoot.$array_src[1][0]; preg_match('/\/([^\/]+\.[a-z0-9]+)[^\/]*$/',$array_src[1][0],$match);
// 获取文件标题字段
$showname=$fileInfo['title'].$match[1];
if(file_exists($filename)==true) {
// 调用类
$http =new \Org\Net\Http;
$http->download($filename,$showname);
}else{
$this->error('此视频不存在',U("Video/video_list"));
}
}
效果如下:
如有问题,不明白的可以留言。