我正在编写一些与MySQL交互的PHP,以便1.上传和2.显示Quicktime .mov文件。我很容易用图像格式做类似的事情,但是这个给了我一些问题。上传工作的意义是数据被插入到SQL表中,客户端 从我的viewvideo.php脚本中获取内容。但是,问题是客户端收到的数据不能作为Quicktime电影进行分析,这意味着沿线某处出现问题......或者数据编码错误?以下是我的两个脚本的重要部分:
上传:
$name = $_FILES["file"]["tmp_name"];
$contents = file_get_contents($name);
mysql_query("INSERT INTO videos(id,data,title,description) VALUES($n,'$contents','$title','$description')");
显示:
$x = mysql_query("SELECT data FROM videos WHERE id=$id");
$results = mysql_fetch_array($x);
$data = $results[0];
header("Content-Type: video/quicktime");
echo $data;
exit;
我目前唯一的假设是,当我把''围绕$内容时,它会扰乱字符串的编码。 SQL服务器暂时关闭以进行维护,因此我将不得不等待测试。任何帮助表示赞赏。
答案 0 :(得分:1)
使用数据库执行此操作的好主意。 Blob仅用于二进制数据=< 256KB
。请参阅here。
我建议您只使用
上传.mov
个文件
<input type="file" .../>
然后直接通过HTTP访问文件或使用类似播放器插件(例如在Flash中)从服务器流式传输文件。