當前位置:首頁 » 文件傳輸 » 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,操作更方便哦

若資源有問題歡迎追問~