0

人々がウェブサイトにサインアップしてビデオをアップロードするプロジェクトに取り組んでいます。ファイルアップロードフォームを作成しましたが、それは完全に機能し、データベースにアクセスしてユーザーテーブルを確認すると、アップロードされたビデオが表示されます次に、私の PHP コードに向かい、変数を初期化します。

$Getvid = " "; 

次に、行をフェッチします

while ($row = mysqli_fetch_array($user_query, MYSQLI_ASSOC)) {  $vid = $row ["vid"]; } 

その後、私は置きます

$Getvid = '< source src="user/'.$u.'/'.$vid.'" >';
if($vid == NULL) {
    $Getvid = '< source src="image/Movie on 2013-07-24 at 13.43.mov" type="video/mp4" >';
}

ユーザーがアップロードしたビデオ ファイルを取得し、そのページにエコー アウトします。また、vid 行が null の場合、スクリプトは、データベースに保存したデフォルトのビデオを表示します。

その後、ユーザーページでビデオをエコーアウトします

      < video width="320" height="240" controls>
      < source src="< ?php echo $vid; ? > " >
      </video> 

しかし、何らかの理由でビデオが表示されず、次のように特別にソースしない限り、デフォルトも機能しません。

    <video width="320" height="240" controls>
      <source src="image/Movie on 2013-07-24 at 13.43.mov" type="video/mp4"  >
    </video> 
4

2 に答える 2

0

問題の 2 つの原因として考えられるのは、名前にスペースが含まれるファイルを保存しないことと、ビデオのタイプを指定していないことです。

SRC には有効な URL が含まれている必要があるため、PHP 文字列にはスペースの代わりに %20 または + を含める必要があります。

注: Fisk が述べたように、スペースが原因で php タグが間違っています。PHP の echo ショート フォームを使用するには、次のように置き換えます。

< ?php echo $vid; ? > 
by 
<?= $vid; ?>
于 2013-11-13T23:05:19.823 に答える
0

< ?php実際にソース コードを入力している場合、PHP は呼び出されません。のように単一のタグにする必要があります<?php。それを修正したら、PHP コードからの出力を実際の例と比較し、どこが異なるかを確認します。それについてより正確な回答が必要な場合は、生成された HTML を、期待している HTML と一緒に質問に追加してください。

また、異なるパスで同じ変数を使用しています。ビデオ名の前に image/ を追加している場所の1つですが、変数にはパスが含まれていないようです。

于 2013-11-13T23:08:16.037 に答える