質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

2074閲覧

リダイレクト先の動画を再生させたい

smnsmn

総合スコア175

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/06/22 08:40

JWPlayerという、JavaScriptをつかった動画Playerで、
動画ファイルのURLを指定する部分があるのですが、このURLに

http://hoge/file/xxxxxxx

のようなURLを指定しておいて、
実際はこのURLにアクセスするとリダイレクトによって本当のファイルURLにアクセスされ、
動画が再生される・・・と言った使用にしたいのですが、
リダイレクトのURLを指定しても、(当然ながら)動画が再生されません。

http://hoge/file/xxxxxxx にアクセス
↓リダイレクト
http://hoge/movie/xxxxxxx.flv

こんな感じです。
**http://hoge/file/xxxxxxx**に直接アクセスすると、ちゃんとリダイレクトされます。
このような方法をとることはできないのでしょうか?

直接のファイルURLを指定せず(ソースに書かず)に、動画を再生させたいのが目的です。
リダイレクトにセッションの認証等も入れようと思っています。

なにか、ヒントでも構いません。ご教授頂けませんでしょうか。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

リダイレクトを挟むと読み込んでくれないとのことなのでリダイレクト時のレスポンスヘッダーを受け取った時点でJWPlayerがエラー処理をしてしまうのではないかなーと思います。

リダイレクトをするのではなく.htaccessを使用して
http://hoge/file/xxxxxxx
にアクセスした際に
http://hoge/file/index.php
で受け取るように設定。(php ルーティング htaccess等で検索してみてください。)

index.phpでは認証処理を行った上でxxxxxに該当するflvをphpで読み込んで出力してあげる
という形が良いのではないかと思います。
この方法であればflvファイルはドキュメントルート外にアップできるので

/public_html /file /index.php /movie /xxxx.flv

のようなディレクトリ構成(public_htmlは使っているサーバーによって変わります。)にすればphpを通さずにflvにアクセスできないようにできますよ

投稿2016/06/22 10:03

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

smnsmn

2016/06/22 13:44 編集

ご回答ありがとうございます! 例えば、http://hoge/file/xxxxxxxでアクセスしたときに http://hoge/file/index.phpにアクセスするようにルーティングを設定し、 (CakePHPを使っているので、file/xxxxxxxでアクセスしたら fileコントローラーのindexアクションを実行、とかでしょうか・・・ .htaccessでルーティングさせた方が確実でしょうか・・・・) >index.phpではxxxxxに該当するflvをphpで読み込んで出力してあげる という部分をもう少し教えていただきたいのですが、 読み込んで出力、と言うのはindex.phpで/movie/xxxxx.flvのURLを返す?(return?)させるということでしょうか? なんとなく流れはイメージできるのですが、この.flvをindex.phpで出力させる、というところが理解しきれずで・・・ 大変恐れ入りますが、もう少しだけご教授頂けませんでしょうか。 何卒よろしくお願いします。
退会済みユーザー

退会済みユーザー

2016/06/22 14:33 編集

ルーティングに関してはCakePHP使っているならすでにhtaccessの設定はされているので、CakePHPで処理を行う形で問題ないと思います。 phpで読み込んで・・・というのはURLを返すのではなくphpがflvのデータを出力する形になります。 例えばですが $flv = file_get_contents('test.flv'); echo $flv; のようなイメージです。 ※実際にはファイルサイズの関係でfile_get_contents()は使えないケースもあると思いますし、flvとしてのheaderの出力も必要になりますがこの辺は一度調べられた方が良いかと思います。
smnsmn

2016/06/22 15:38

ありがとうございます!m(__)m 理解できました。どう調べていいものかもわからなかったのですが、 やりたいことを形にするイメージがついてきました。 丁寧に解説頂き、ありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問