私は、MySQLとのやりとりを行い、Quicktime .movファイルをアップロードおよび表示するPHPを作成しています。私はイメージフォーマットで同様のことを非常に簡単に行ってきましたが、これは私にいくつかの問題を与えています。アップロードはデータがSQLテーブルに挿入されているという意味で機能しており、クライアントはです。私のviewvideo.phpスクリプトから何かが取得されています。しかし、問題は、クライアントが受け取るデータが、Quicktimeムービーとしては意味がないということです。つまり、ラインのどこかに何かが間違っていた、またはデータが正しくエンコードされていないことを意味します。ここに私の2つのスクリプトの重要なセグメントである:MySQLとPHPによるビデオアップロードのヘルプ
アップロード:
$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サーバーが一時的に停止しているので、これをテストするのを待たなければなりません。どんな助けもありがとうございます。
バイナリMOVデータをどのようにデータベースに格納していますか?ビデオデータが混乱してDBに書き込まれる可能性があります。ファイルをサーバーに物理的に格納し、ファイルへのパスをDBに格納する方が良い。 DBのオーバーヘッドを減らす。 – Jack
ファイルに '' 'が含まれているとしたら、あなたのSQLクエリはどうなりますか? – hakre
私はそれをBLOBに保存しています。私はファイルに保存することができますが、管理者は私に書き込みアクセスを許可していません:( – codedude