私はPHP/MYSQLで基本的なCMSを作成し、ビデオ作家がビデオのポートフォリオを管理できるようにしました。共有サーバー上でホストされています。クエリは、以下のアップロードスクリプトが実行される前に、ビデオメタデータをdbに挿入します。ビデオの347バイトのみクライアント用のPHP/MYSQLのCMS経由でアップロード
私の試したとき(私の家や大学では複数のマシンで)うまく動作するアップロードスクリプトですが、クライアントがビデオを自分でアップロードしようとすると、CMSは347バイトしかアップロードしなかったアップロードは終了しましたが。
これは自分のコードやクライアント側の問題ですか?見つけ出すために何かできることはありますか(私はPHP/Apacheログにアクセスできません...)ありがとう!
これは、347バイトのバイナリファイル上のLinux「文字列」コマンドの出力されます。また、ここではコアコンポーネントである
[moov
Srmra
\rmda
Drdrf
url
/Crispy%20Revised%20SD%20h264%20web-desktop.m4v
rmdr
zrmda
Hrdrf
url
3Crispy%20Revised%20SD%20h264%20web-iPhone-cell.3gp
rmdr
rmvc
mobi
urmda
Crdrf
url
.Crispy%20Revised%20SD%20h264%20web-iPhone.m4v
rmdr
rmvc
mobi
これは347
の約245バイトを占め、基本的なアップロードスクリプトの(私はいくつかの消毒活動を省略しました):
if ($file["error"] > 0)
{
echo "<p>Return Code: " . $file["error"] . "</p>";
}
else
{
if (file_exists($Dir.$file["propername"]))
{
echo "<p>".$file["propername"] . " already exists. ";
}
else
{
move_uploaded_file($file["tmp_name"],
$Dir.$file["propername"]);
echo "<p>Stored in: " . $Dir.$file["propername"];
}
}
ビデオファイルの最初の数バイトであることを確認しましたか?たぶん彼は単純に '.rm'ファイルをアップロードしただけでしょうか? $ _FILESのファイル形式を検証するコードやアップロードエラーの状態をチェックするコードはありますか? – mario
ファイル拡張子のクライアント側の検証は私がやっていることです。上記の関数を起動する前にif($ file ["type"] == "video/quicktime")を実行します。だから私はファイルが347バイトでさえ、クイックタイムのムービーとして認識されたと思います。 アップロードエラーをチェックしないでください。これは簡単なものです...ありがとうございます。 – Andrew
ええ、347バイトのファイルを調べ、それが入っているものを投稿してください –