質問箱/3399
の編集
Top
/
質問箱
/
3399
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
Wikiを試したい方へ:
「この」Wikiは、
PukiWiki
のための公式Wikiです。
テスト書き込みなどは
お試しサイト
https://pukiwiki.osdn.jp/_trial/
をご利用ください
**[[質問箱/3399]] [#t2dfade7] |RIGHT:100|LEFT:410|c |~カテゴリ|| |~サマリ|QuickTime MovieをPukiWiki上でインライン表示したい| |~バージョン|1.4.6| |~投稿者|[[Rider]]| |~状態|完了| |~投稿日|&new{2006-05-08 (月) 16:57:12};| ***質問 [#pbb7c2b4] こんにちは。初めて質問させていただきます。 添付したQuickTimeの動画ファイルを#refを使うかどうにかしてインライン表示する事はできないものでしょうか? 例えば1.movをアップロードして#ref(1.mov)としても、単なるファイルへのリンクが作られるだけですし、何か良い方法(プラグイン?)は無いものでしょうか。 http://www.apple.com/jp/trailers/ のサイトのようにブラウザのQTプラグインを呼び出してサイト内で直接映像を流したいと考えております。 公開したい映像が多数あり、どうすれば良いものか困っています。 インライン表示したい理由は映像を見ている最中もナビゲーションが表示されているのでいちいち戻るを押したりしなくて済むというのと、同時に広告も表示したいと考えているからです。 サーバーの情報ですが、FreeBSD5.3+PHP4.3.9です。 よろしくお願いいたします。 ***回答 [#a33c4fe1] - 試してないんで不明だけど、embedタグを吐き出せば良いだけなら、music.inc.phpが使えるかも?(Googleで探せるので探してね。と) -- &new{2006-05-08 (月) 17:57:46}; - ありがとうございます。music.inc.phpを使ってURLで指定したMovieは表示されるようになりました。しかし、添付ファイルを直接再生する方法が分かりませんでした。勉強してみます。 -- [[Rider]] &new{2006-05-09 (火) 13:13:39}; - 確かにソースを見ると添付ファイルのための処理が無いですね。多分、ref.inc.phpの添付を処理する部分を組み込んでみるといけると思いますよ。 -- &new{2006-05-09 (火) 16:55:56}; - ref.inc.phpの添付処理部分を組み込もうと思ってだいぶ見ているのですが、phpに関する知識がほとんど無いため苦戦しております。逆にref.inc.phpが標準でムービーファイルに対応していただけると、添付ファイルの表示は#ref(hogehoge)だけで済むので分かりやすいと思ったのですが...こういう事は、[[欲しいプラグイン]]で提案した方が良かったのでしょうか!? -- [[Rider]] &new{2006-05-09 (火) 17:52:25}; - 私もPHPの知識はありませんが、四苦八苦しつつコピーしながらやってます。ref.inc.phpはコメントしっかりしてるので比較的楽です。がんばってみてください。反対にref.inc.phpをそのまま改造してHTML吐き出す部分をimgタグからembedタグに変えるようにするほうが簡単かもしれません。 -- &new{2006-05-09 (火) 23:03:56}; - …取りあえずURL指定でうまくいくなら、http://~/~?plugin=attach&refer=~&openfile=~と書くというのは… -- &new{2006-05-10 (水) 00:44:06}; - お返事遅くなりまして申し訳ありません。結局ref.inc.phpはどこをいじれば良いかよく分からないため、上記の方法で表示する事にしました。良いアイディアを出していただいてありがとうございます。ひとまずその場しのぎ的にできたものの、やはりref.inc.phpで正式に対応していただけると多くの人にも便利かなと思いました。QT Movieだけでなく、AVIやWMVやMPEGなどインラインで表示できれば非常に便利ですし。music.inc.phpの改造版は外部のMovieも読み出せてしまうので、悪意のあるMovieを貼られると困ってしまいます。添付でなくても読み込めますのでブラクラ的な巨大なものでも張り込めてしまいますし... -- [[Rider]] &new{2006-05-11 (木) 23:16:21}; - やっつけ +require_once(PLUGIN_DIR.'attach.inc.php'); function plugin_music_inline() { @@ -14,13 +15,26 @@ function plugin_music_convert() { + global $vars,$script; + $argc = func_num_args(); if ($argc < 1) { return FALSE; } $argv = func_get_args(); - $file = $argv[0]; + $page = dirname($argv[0]); $file = basename($argv[0]); + if ($page=='.') $page = $vars['page']; + + if (!check_readable($page,TRUE,FALSE)) + return 'page not readable.'; + + $obj = & new AttachFile($page,$file); + if (!$obj->exist) return 'file not found.'; + + $file = $script.'?plugin=attach&refer='. + rawurlencode($page).'&openfile='. + rawurlencode($file); $autostart = 'true'; $repeat = 'true'; @@ -40,13 +54,13 @@ } } else if (preg_match('/(.*)x(.*)/i', $argv[$i], $match)) { - $width = "WIDTH=". $match[1]; - $height = "HEIGHT=".$match[2]; + $width = 'WIDTH="'. $match[1].'"'; + $height = 'HEIGHT="'.$match[2].'"'; } } return <<<EOD - <EMBED src=$file autostart=$autostart repeat=$repeat loop=$loop $width $height align=$align > + <EMBED src="$file" autostart="$autostart" repeat="$repeat" loop="$loop" $width $height align="$align" > </EMBED> 大方の'出来る人'がいつまで経っても出てこない理由が分かった気がする B-P -- &new{2006-05-12 (金) 01:10:04}; - レスが付いていた事に気がつきませんでした!申し訳ありません。しかもコードまで書いて頂いていたのに… 上のソースなのですが、なぜかうまくpatch <でパッチできなかったので手作業で切り貼りし動作確認してみたのですが、どうもfile not foundになってしまいうまく貼付けられませんでした。一応複数のファイル名で試してみたのですがどでも読み込む事ができませんでした… -- [[Rider]] &new{2006-05-20 (土) 01:38:45}; - 正しく改造が行われているか、ファイル指定に不要なスペースが入っていないかを確認してください。後者で躓いていたなら、 $argv = func_get_args(); +$argv[0] = trim($argv[0]); $page = dirname($argv[0]); $file = basename($argv[0]); としておけば良いでしょう。 -- &new{2006-05-20 (土) 09:08:17}; - お返事大変遅くなり大変申し訳ありません。色々試行錯誤したのにうまくいかないのでもう一度原点に立ち返りPatchしたところ、今度はうまくいきました。パッチの元ファイルがうまく作成できていないという単純ミスでした。Unixの基礎知識がなってない事がそもそもの間違いですね…あとはpluginspage=など追加したり微調整してみようと思います。本当にありがとうございました。 -- [[Rider]] &new{2006-05-31 (水) 02:07:04}; - 本家で配布しているパッケージに上記パッチは含まれることは無いのでしょうか。。。 -- [[ykamei]] &new{2007-02-11 (日) 00:19:53}; -- ここでそれを聞いても、答えが得られるとは思えませんが。 -- &new{2007-02-11 (日) 20:25:07}; -- music.inc.php 自体いれてないでしょ? -- &new{2007-02-12 (月) 04:47:41}; #comment
**[[質問箱/3399]] [#t2dfade7] |RIGHT:100|LEFT:410|c |~カテゴリ|| |~サマリ|QuickTime MovieをPukiWiki上でインライン表示したい| |~バージョン|1.4.6| |~投稿者|[[Rider]]| |~状態|完了| |~投稿日|&new{2006-05-08 (月) 16:57:12};| ***質問 [#pbb7c2b4] こんにちは。初めて質問させていただきます。 添付したQuickTimeの動画ファイルを#refを使うかどうにかしてインライン表示する事はできないものでしょうか? 例えば1.movをアップロードして#ref(1.mov)としても、単なるファイルへのリンクが作られるだけですし、何か良い方法(プラグイン?)は無いものでしょうか。 http://www.apple.com/jp/trailers/ のサイトのようにブラウザのQTプラグインを呼び出してサイト内で直接映像を流したいと考えております。 公開したい映像が多数あり、どうすれば良いものか困っています。 インライン表示したい理由は映像を見ている最中もナビゲーションが表示されているのでいちいち戻るを押したりしなくて済むというのと、同時に広告も表示したいと考えているからです。 サーバーの情報ですが、FreeBSD5.3+PHP4.3.9です。 よろしくお願いいたします。 ***回答 [#a33c4fe1] - 試してないんで不明だけど、embedタグを吐き出せば良いだけなら、music.inc.phpが使えるかも?(Googleで探せるので探してね。と) -- &new{2006-05-08 (月) 17:57:46}; - ありがとうございます。music.inc.phpを使ってURLで指定したMovieは表示されるようになりました。しかし、添付ファイルを直接再生する方法が分かりませんでした。勉強してみます。 -- [[Rider]] &new{2006-05-09 (火) 13:13:39}; - 確かにソースを見ると添付ファイルのための処理が無いですね。多分、ref.inc.phpの添付を処理する部分を組み込んでみるといけると思いますよ。 -- &new{2006-05-09 (火) 16:55:56}; - ref.inc.phpの添付処理部分を組み込もうと思ってだいぶ見ているのですが、phpに関する知識がほとんど無いため苦戦しております。逆にref.inc.phpが標準でムービーファイルに対応していただけると、添付ファイルの表示は#ref(hogehoge)だけで済むので分かりやすいと思ったのですが...こういう事は、[[欲しいプラグイン]]で提案した方が良かったのでしょうか!? -- [[Rider]] &new{2006-05-09 (火) 17:52:25}; - 私もPHPの知識はありませんが、四苦八苦しつつコピーしながらやってます。ref.inc.phpはコメントしっかりしてるので比較的楽です。がんばってみてください。反対にref.inc.phpをそのまま改造してHTML吐き出す部分をimgタグからembedタグに変えるようにするほうが簡単かもしれません。 -- &new{2006-05-09 (火) 23:03:56}; - …取りあえずURL指定でうまくいくなら、http://~/~?plugin=attach&refer=~&openfile=~と書くというのは… -- &new{2006-05-10 (水) 00:44:06}; - お返事遅くなりまして申し訳ありません。結局ref.inc.phpはどこをいじれば良いかよく分からないため、上記の方法で表示する事にしました。良いアイディアを出していただいてありがとうございます。ひとまずその場しのぎ的にできたものの、やはりref.inc.phpで正式に対応していただけると多くの人にも便利かなと思いました。QT Movieだけでなく、AVIやWMVやMPEGなどインラインで表示できれば非常に便利ですし。music.inc.phpの改造版は外部のMovieも読み出せてしまうので、悪意のあるMovieを貼られると困ってしまいます。添付でなくても読み込めますのでブラクラ的な巨大なものでも張り込めてしまいますし... -- [[Rider]] &new{2006-05-11 (木) 23:16:21}; - やっつけ +require_once(PLUGIN_DIR.'attach.inc.php'); function plugin_music_inline() { @@ -14,13 +15,26 @@ function plugin_music_convert() { + global $vars,$script; + $argc = func_num_args(); if ($argc < 1) { return FALSE; } $argv = func_get_args(); - $file = $argv[0]; + $page = dirname($argv[0]); $file = basename($argv[0]); + if ($page=='.') $page = $vars['page']; + + if (!check_readable($page,TRUE,FALSE)) + return 'page not readable.'; + + $obj = & new AttachFile($page,$file); + if (!$obj->exist) return 'file not found.'; + + $file = $script.'?plugin=attach&refer='. + rawurlencode($page).'&openfile='. + rawurlencode($file); $autostart = 'true'; $repeat = 'true'; @@ -40,13 +54,13 @@ } } else if (preg_match('/(.*)x(.*)/i', $argv[$i], $match)) { - $width = "WIDTH=". $match[1]; - $height = "HEIGHT=".$match[2]; + $width = 'WIDTH="'. $match[1].'"'; + $height = 'HEIGHT="'.$match[2].'"'; } } return <<<EOD - <EMBED src=$file autostart=$autostart repeat=$repeat loop=$loop $width $height align=$align > + <EMBED src="$file" autostart="$autostart" repeat="$repeat" loop="$loop" $width $height align="$align" > </EMBED> 大方の'出来る人'がいつまで経っても出てこない理由が分かった気がする B-P -- &new{2006-05-12 (金) 01:10:04}; - レスが付いていた事に気がつきませんでした!申し訳ありません。しかもコードまで書いて頂いていたのに… 上のソースなのですが、なぜかうまくpatch <でパッチできなかったので手作業で切り貼りし動作確認してみたのですが、どうもfile not foundになってしまいうまく貼付けられませんでした。一応複数のファイル名で試してみたのですがどでも読み込む事ができませんでした… -- [[Rider]] &new{2006-05-20 (土) 01:38:45}; - 正しく改造が行われているか、ファイル指定に不要なスペースが入っていないかを確認してください。後者で躓いていたなら、 $argv = func_get_args(); +$argv[0] = trim($argv[0]); $page = dirname($argv[0]); $file = basename($argv[0]); としておけば良いでしょう。 -- &new{2006-05-20 (土) 09:08:17}; - お返事大変遅くなり大変申し訳ありません。色々試行錯誤したのにうまくいかないのでもう一度原点に立ち返りPatchしたところ、今度はうまくいきました。パッチの元ファイルがうまく作成できていないという単純ミスでした。Unixの基礎知識がなってない事がそもそもの間違いですね…あとはpluginspage=など追加したり微調整してみようと思います。本当にありがとうございました。 -- [[Rider]] &new{2006-05-31 (水) 02:07:04}; - 本家で配布しているパッケージに上記パッチは含まれることは無いのでしょうか。。。 -- [[ykamei]] &new{2007-02-11 (日) 00:19:53}; -- ここでそれを聞いても、答えが得られるとは思えませんが。 -- &new{2007-02-11 (日) 20:25:07}; -- music.inc.php 自体いれてないでしょ? -- &new{2007-02-12 (月) 04:47:41}; #comment
テキスト整形のルールを表示する