㈠ 用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
链接:
若资源有问题欢迎追问~