当前位置:首页 » 文件传输 » thinkphp分片上传视频
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

thinkphp分片上传视频

发布时间: 2022-06-13 07:34:56

㈠ 用thinkphp怎么在自己的网站上传和显示视频。

上传视频和上传文件都差不多的啊 ThinkPHP有自带的上传类 操作还是比较简单的 具体的请看官方手册 设置好要存储的路径 以及规定的后缀名 不能什么格式的文件都能上传 那样不安全 至于播放 网上有很多开源的播放器 找一个直接嵌入 或者就直接用HTML5的vedio标签 不过这个有兼容性问题

㈡ thinkphp怎么实现上传多个文件到不同的目录

<tr>
<td><input type='file' name='video[]' /></td>
<td><input type='file' name='video[]' /></td>
<td><input type='file' name='video[]' /></td>
</tr>
<tr>
<td><input type='file' name='pic[]' /></td>
<td><input type='file' name='pic[]' /></td>
<td><input type='file' name='pic[]' /></td>
</tr>
这种不同name的多文件上传,怎么改UploadFile.class.php类,来实现多name多文件上传
index.html
<form method="POST" enctype="multipart/form-data" action="{:U('Index/upload')}">
<tr >
<td>flv文件</td>
<td><input type="file" name="flv" /></td>
</tr>
<tr >
<td>视频压缩文件</td>
<td><input type="file" name="movie" /></td>
</tr>
<tr>
<td>缩略图</td>
<td><input type="file" name="img" /></td>
</tr>
<input type="submit" value="上传" />
</form>
复制代码

UploadFile.class.php 162行
if (!is_dir($savePath)) {
// 检查目录是否编码后的
if (is_dir(base64_decode($savePath))) {
$savePath = base64_decode($savePath);
} else {
// 尝试创建目录
if (!mkdir($savePath)) {
$this->error = '上传目录' . $savePath . '不存在';
return false;
}
}
} else {
if (!is_writeable($savePath)) {
$this->error = '上传目录' . $savePath . '不可写';
return false;
}
}
复制代码

改成
if(!is_array($savePath)){
if (!is_dir($savePath)) {
// 检查目录是否编码后的
if (is_dir(base64_decode($savePath))) {
$savePath = base64_decode($savePath);
} else {
// 尝试创建目录
if (!mkdir($savePath)) {
$this->error = '上传目录' . $savePath . '不存在';
return false;
}
}
} else {
if (!is_writeable($savePath)) {
$this->error = '上传目录' . $savePath . '不可写';
return false;
}
}
}
复制代码

UploadFile.class.php 194行
$file['savepath'] = $savePath;
复制代码

改成
$file['savepath'] = is_array($savePath)?$savePath[$key]:$savePath;
复制代码

Public function upload() {
import('Org.Net.UploadFile');
$upload = new \Org\Net\UploadFile(); // 实例化上传类
$upload->maxSize = 3145728; // 设置附件上传大小
$upload->allowExts = array('jpg', 'gif', 'png', 'jpeg'); // 设置附件上传类型
// $upload->savePath = './Public/Uploads/'; // 设置附件上传目录
$upload->savePath = array('flv'=>'./Public/Uploads/flv/','movie'=>'./Public/Uploads/movie/','img'=>'./Public/Uploads/img/');
if (!$upload->upload()) {
$this->error($upload->getErrorMsg());
} else {// 上传成功 获取上传文件信息
$info = $upload->getUploadFileInfo();
}

}
复制代码

$upload->savePath 改为数组
./Public/Uploads/flv/
./Public/Uploads/movie/
./Public/Uploads/img/
这3个目录要手动创建 这样在就变成不影响原来程序的
情况下实现上传多个文件到不同的目录了

㈢ 本人新手速求:thinkphp上传视频文件怎么上传

上传大小限制,和上传文件类型做了限制
$upload->maxSize = 0 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg','mp4','rmvb');// 设置附件上传类型

㈣ thinkphp怎样引入mp4视频

引用html5,然后用tp写一个上传功能。调用页面的地址就是tp上传后的文件地址,就能实现播放。

㈤ Thinkphp如何一起上传视频和图片

直接就是上传文件就OK了啊!文件包括视频图片,后端识别下是否是视频存放不同目录就ok了

㈥ thinkphp上传视频和上传图片代码一样吗

thinkphp上传类是共用的,图片上传类只是把普通的文件上传类封装了一层,加了缩略图和水印的功能。
你的上传代码贴上来我看看,帮你分析下原因。

㈦ thinkphp可以同时上传不同的文件吗,比如一个图片和一个视频,放在不同的input一起提交

可以同时上传文件的
input type=file name取不同就可以获取相应的文件

㈧ 高分求thinkphp中设置xheditor图片上传详细步骤。。。

  1. 先在页面上面配置获取网络配置文件地址:window.UEDITOR_CONFIG.serverUrl = xx;

  2. 后面的就是服务器端了


  3. namespaceAdminController;
    useAdminServiceBaseService;

    {
    publicfunction_empty(){
    $action=I('get.action','','htmlspecialchars');
    $callback=I('get.callback');
    $result=null;
    switch($action){
    case'config':
    $result=json_encode($this->_Config());
    break;

    /*上传图片*/
    case'uploadimage':
    /*上传涂鸦*/
    case'uploadscrawl':
    /*上传视频*/
    case'uploadvideo':
    /*上传文件*/
    case'uploadfile':
    $result=$this->_Upload($action);
    break;

    /*列出图片*/
    case'listimage':
    /*列出文件*/
    case'listfile':
    $result=$this->_list($action);
    break;
    /*抓取远程文件*/
    case'catchimage':
    $result=$this->_crawler();
    break;

    default:
    $result=json_encode(array(
    'state'=>'请求地址出错'
    ));
    break;
    }

    if(isset($_GET["callback"])){
    if(preg_match("/^[w_]+$/",$_GET["callback"])){
    echohtmlspecialchars($_GET["callback"]).'('.$result.')';
    }else{
    echojson_encode(array(
    'state'=>'callback参数不合法'
    ));
    }
    }else{
    echo$result;
    }
    }
    privatefunction_Config(){
    $CONFIG=json_decode(preg_replace("//*[sS]+?*//","",file_get_contents(APP_PATH.'Admin/Conf/config.json')),true);
    $CONFIG['imageMaxSize']=UPLOAD_IMAGE_SIZE;
    $CONFIG['scrawlMaxSize']=UPLOAD_IMAGE_SIZE;
    $CONFIG['catcherMaxSize']=UPLOAD_IMAGE_SIZE;
    $CONFIG['videoMaxSize']=UPLOAD_VIDEO_SIZE;
    $CONFIG['fileMaxSize']=UPLOAD_FILE_SIZE;
    $CONFIG['scrawlUrlPrefix']=ATTACH_URL;
    $CONFIG['imageUrlPrefix']=ATTACH_URL;
    $CONFIG['snapscreenUrlPrefix']=ATTACH_URL;
    $CONFIG['catcherUrlPrefix']=ATTACH_URL;
    $CONFIG['videoUrlPrefix']=ATTACH_URL;
    $CONFIG['fileUrlPrefix']=ATTACH_URL;
    $CONFIG['imageManagerUrlPrefix']=ATTACH_URL;
    $CONFIG['fileManagerUrlPrefix']=ATTACH_URL;
    return$CONFIG;
    }
    privatefunction_Upload($action){
    $config=$this->_Config();
    $up=newLibExtendUpload();
    $type='';
    switch($action){
    case'uploadimage':
    $fieldName=$config['imageFieldName'];
    $type='image';
    break;
    case'uploadscrawl':
    $fieldName=$config['scrawlFieldName'];
    $type='base64';
    break;
    case'uploadvideo':
    $fieldName=$config['videoFieldName'];
    $type='video';
    break;
    case'uploadfile':
    default:
    $fieldName=$config['fileFieldName'];
    $type='file';
    break;
    }
    if($type=='base64'){
    $result=$up->saveBase64($fieldName);
    }else{
    $result=$up->save($fieldName,$type);
    }
    returnjson_encode($result);
    }
    privatefunction_list($action){
    $config=$this->_Config();
    switch($action){
    /*列出文件*/
    case'listfile':
    $allowFiles=$config['fileManagerAllowFiles'];
    $listSize=$config['fileManagerListSize'];
    break;
    /*列出图片*/
    case'listimage':
    default:
    $allowFiles=$config['imageManagerAllowFiles'];
    $listSize=$config['imageManagerListSize'];
    }
    $allowFiles=substr(str_replace(".","|",join("",$allowFiles)),1);

    /*获取参数*/
    $size=isset($_GET['size'])?htmlspecialchars($_GET['size']):$listSize;
    $start=isset($_GET['start'])?htmlspecialchars($_GET['start']):0;
    $end=$start+$size;

    /*获取文件列表*/
    $path=UPLOAD_PATH;
    $files=$this->_getfiles($path,$allowFiles);
    if(!count($files)){
    returnjson_encode(array(
    "state"=>"nomatchfile",
    "list"=>array(),
    "start"=>$start,
    "total"=>count($files)
    ));
    }

    /*获取指定范围的列表*/
    $len=count($files);
    for($i=min($end,$len)-1,$list=array();$i<$len&&$i>=0&&$i>=$start;$i--){
    $list[]=$files[$i];
    }
    returnjson_encode(array(
    "state"=>"SUCCESS",
    "list"=>$list,
    "start"=>$start,
    "total"=>count($files)
    ));
    }
    privatefunction_getfiles($path,$allowFiles,&$files=array()){
    if(!is_dir($path))returnnull;
    if(substr($path,strlen($path)-1)!='/')$path.='/';
    $handle=opendir($path);
    while(false!==($file=readdir($handle))){
    if($file!='.'&&$file!='..'){
    $path2=$path.$file;
    if(is_dir($path2)){
    $this->_getfiles($path2,$allowFiles,$files);
    }else{
    if(preg_match("/.(".$allowFiles.")$/i",$file)){
    $files[]=array(
    'url'=>substr($path2,strlen(UPLOAD_PATH)),
    'mtime'=>filemtime($path2)
    );
    }
    }
    }
    }
    return$files;
    }
    privatefunction_crawler(){
    $config=$this->_Config();
    $fieldName=$config['catcherFieldName'];
    $up=newLibExtendUpload();
    $source=I($fieldName);
    $result=array();
    foreach($sourceas$imgUrl){
    $item=$up->saveRemote($imgUrl);
    array_push($list,array(
    "state"=>$item["state"],
    "url"=>$item["url"],
    "size"=>$item["size"],
    "title"=>htmlspecialchars($item["title"]),
    "original"=>htmlspecialchars($item["original"]),
    "source"=>htmlspecialchars($imgUrl)
    ));
    }
    returnjson_encode($result);
    }

    }

㈨ thinkphp 怎么上传视频,求代码

$upload->maxSize = 0 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg','mp4','rmvb');// 设置附件上传类型
这个问题差不多就是这样..你如果还有不会的可以去后盾人看看视频

㈩ thinkphp 怎么上传视频,求代码急

Peter

链接:

提取码: 4zuf 复制这段内容后打开网络网盘手机App,操作更方便哦

若资源有问题欢迎追问~