㈠ 用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圖片上傳詳細步驟。。。
先在頁面上面配置獲取網路配置文件地址:window.UEDITOR_CONFIG.serverUrl = xx;
後面的就是伺服器端了
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
鏈接:
若資源有問題歡迎追問~