0

我正在编写一些与 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;

目前我唯一的假设是,当我将 ' ' 放在 $contents 周围时,它会弄乱字符串的编码。SQL 服务器暂时停机进行维护,所以我将不得不等待测试。任何帮助表示赞赏。

4

1 回答 1

1

使用数据库执行此操作是个坏主意。Blob 仅用于二进制数据=< 256KB。见这里

我建议您只需.mov使用

<input type="file" .../>

然后通过 HTTP 直接访问文件或使用播放器插件(例如在 Flash 中)从服务器流式传输它们。

于 2011-07-08T21:53:41.060 回答