php 视频网站视频上传存入mysql,页面index.php,表单传到upload.php处理,要求上传的视频转为flv,还要截图,然后存入数据库

「已注销」 2011-11-27 10:07:31
index.phh:标题:<form action="upload.php" method="post"><input type="text" name="title" id="title" style=" width:500px;"/>文件:<input type="file" name="movie" id="movie" />input type="hidden" name="action" value="upload" /><input type="submit" name="submit" value="开始上传" />
但是传到upload.php,我不太会处理。我给出我的代码,大家帮我改正出来。

upload.php:
<?php
$title=$_POST['title'];$movie=$_POST['movie'];
require('../include/mysql.class.php');
$db=new Mysql;
//视频转码
function converttoflv( $in, $out )
{
if(is_file($out)) unlink( $out );
$cmd = $db->root . "\\flvtool\\ffmpeg.exe -v 0 -i $in -ar 11025 -qscale 6 -s 480x360 $out 2>&1";
$fh = popen( $cmd, "w" );
if(!$fh)die("ERROR!");
while( fgets( $fh ) ) { }
pclose( $fh );
}
//视频截图
function getthumbnail( $in, $out )
{
if(is_file($out)) unlink( $out );
$cmd = $db->root . "\\flvtool\\ffmpeg.exe -i $in -y -f image2 -t 0.001 -s 480x360 $out 2>&1";
$fh = popen( $cmd, "r" );
while( fgets( $fh ) ) { }
pclose( $fh );
}
//视频转码并截图
function flv_import( $upfile, $fname, $title )
{
$fname = preg_replace( '/\..*$/', '', basename( $fname ) ); //上传视频以时间日期和随机数组合来命名
$flvpath = $fname.".flv";
$thumbpath = $fname.".jpg";
converttoflv( $upfile,$db->root ."\\movies\\$flvpath" ); ////这个地方用$db->root对不对
getthumbnail( $upfile,$db->root ."\\movies\\$thumbpath" );
$db=new Mysql;
$db->fn_insert("video","title,movie,image"," '$title','movies/$flvpath','movies/$thumbpath' ");////video是数据表///image是截图
///////就是上面这一段代码,我不会处理,求帮我处理一下……
header('refresh:2;url=index.php');
echo"<p align=center style=padding-top:60px; font-size=28px;>新增成功!正在跳转……</p>";
}
flv_import( $_FILES['movie']['tmp_name'], $_FILES['movie']['name'],$title); //////调用的这段函数,我好像也写的不太对
ob_end_flush();
?>


给出mysql.class.php和本页有关的代码:
<?php
require('db.config.class.php');//包含datebase类
class Mysql{
private $localhost;
private $root;
private $password;
private $database;
function __construct(){
$this->localhost=Database::$dblocalhost;
$this->root=Database::$dbroot;
$this->password=Database::$dbpwd;
$this->database=Database::$dbname;
$this->connect();

}
function __construct(){
$this->localhost=Database::$dblocalhost;
$this->root=Database::$dbroot;
$this->password=Database::$dbpwd;
$this->database=Database::$dbname;
$this->connect();

}
function fn_select($table,$select,$where="",$order="",$limit=""){$sql="select $select from $table $where $order $limit";
$result=mysql_query($sql) or die("查询失败".mysql_error());
return $result;
}////上面存入数据库调用的函数
?>



这是数据库的配置
db.config.class.php:
<?
class Database{
static $dblocalhost="localhost";
static $dbroot="root";
static $dbpwd="";
static $dbname="online video";
}
?>
希望高手能给一点指点,因为小弟才学php,回答的时候尽量写出明了的代码,帮我改正代码,道理说少一点,我很笨,希望大家原谅!!!
另外,我参考了http://hi.baidu.com/kulanlan/blog/item/1836bb237765f643ac34dec5.html,但是他没有给出DB.php的代码,还有,我的那些函数集合在了mysql.class.php里面了,思路好像和他的不一样,所以不知道怎么来套用。
...全文
433 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2011-11-28
  • 打赏
  • 举报
回复
希望一楼高手不要吝惜口水,小弟跪求正解,望指教
seared2008 2011-11-28
  • 打赏
  • 举报
回复
你说的好像不是一个问题,一两句话解决不了你的问题
资源下载链接为: https://pan.quark.cn/s/9e7ef05254f8 Java:主要开发语言。 FFmpeg:用于视频采集、转码、截取关键帧等功能。 Flash Player (SWF):用于播放FLV格式视频MySQL 5.5:存储视频元数据。 视频上传: 使用multipart/form-data提交表单。 界面包含视频文件输入框,通过HTTP POST请求上传至服务器。 视频转码: 使用FFmpeg将视频转码为FLV格式。 转码时可截取关键帧作为缩略图。 关键帧提取: FFmpeg可从视频中提取关键帧,用于预览或封面。 存储管理: 视频文件存于文件系统。 元数据(如标题、路径、截图等)存入MySQL视频采集:支持多种设备。 格式转换:支持多种视频格式转换。 视频抓图:可抽取特定帧为图片。 视频水印:支持添加水印。 流传输:支持通过RTP协议传输视频流。 支持格式:asx、asf、mpg、wmv、3gp、mp4、mov、avi、flv等。 不支持格式:wmv9、rm、rmvb等。可通过其他工具(如mencoder)转换为avi等支持格式后再处理数据库MySQL 5.5。 数据表:tb_media。 id:主键。 title:视频名称。 src:视频地址。 picture:视频截图。 description:视频描述。 upload_time:上传时间。 上传界面设计:使用HTML表单,设置enctype="multipart/form-data"。 业务接口定义: MediaDao接口: executeCodecs:执行视频转码。 saveMedia:保存视频元数据。 getAllMediaCount:查询记录总数。 queryMedia:分页查询视频元数据。 视频上传: 用户通过网页上传视频文件,文件通过HTTP POST提交至服务器

21,890

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧