1

基本的に、id 値に基づいてビデオを取得する次のコードがあります。

<?php 
   if (isset($_GET["id"])) {
   $id = $_GET["id"];
   $video = "vid" . $id;
   echo "<video controls><source src='{$video}' type='video/mp4'></video>";
     } else {
       echo "File not found.";
   }
?>

したがって、http://www.animesour.com/video.php?id=555.mp4にアクセスすると、vid555.mp4 というビデオが読み込まれます (動作します)。

ただし、このコードでその URL を読み込もうとすると、ビデオが読み込まれません。

<video tabindex="0" controls="controls">
   <source src="http://www.animesour.com/video.php?id=555.mp4" type="video/mp4">
</video>

これが機能するようにする方法を知っている人はいますか?

4

4 に答える 4

0

あなたのコードをテストしましたが、どちらもうまくいきません (投稿した URL にアクセスするか、URL をソースとして使用します)。

ビデオ プレーヤーは両方に表示されますが、ビデオはどちらでも再生されません。

于 2013-07-18T20:17:14.720 に答える
0

ソースとして持っている URL はソースではありません。ソースをロードするスクリプトへのリンクです。それをソースにする代わりに、ビデオがあるファイル構造内の場所を指す必要があります。したがって、コードで構造を構築し、それをマークアップにエコーする必要があります。

<?php 
   if (isset($_GET["id"])) {
       $id = $_GET["id"];
       $video = "vid" . $id;
       echo "<video tabindex=\"0\" controls=\"controls\">";
       echo "<source src=\"{$video}\" type=\"video/mp4\">";
       echo "</video>";
   } else {
       echo "File not found.";
   }
?>
于 2013-07-18T20:14:05.227 に答える
0

わかりました私はそれを行うことができました。最初のコードを次のように変更しました

<?php
$id = $_GET["id"];
$file = "vid" . $id . ".mp4";

if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
?>

?id=555 の URL を使用して iframe で外部リンクできるようになり、ビデオ ファイルがプレーヤーに読み込まれます。

于 2013-07-19T07:13:01.890 に答える