![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.6ベストアンサー
- 回答日時:
検索文字にアスタリスクを入れるだけの場合はPHPよりJavascriptの方が簡単かもしれないですね。
例
<html>
<head>
<script type="text/javascript">
function add(){
document.form1.query.value = "*" + document.form1.query.value + "*";
}
</script>
</head>
<body>
<form action="http://localhost/scripts/namazu.cgi" method="GET" name="form1" onsubmit="add();">
検索文字列:<input type="text" name="query">
<input type="hidden" name="idxname" value="JPN">
<input type="submit" value="検索">
<form>
</body>
</html>
自分の環境にNamazuがないので動くかどうかはわかりませんが参考にはなるかもしれません。
当初のPHPでやろうとしているよりこちらの方がすっきり、早く良かったです!
多分色々と難しく考えすぎていたのですが、k17sさんの上記Javascriptのおかげでうまくいきました!
THX!
No.5
- 回答日時:
ANo.1の人です。
ANo.3さんの言われるように
> 検索文字列の前後にアスタリスクを事前につけてnamazuに渡す処理をはさんだ方がはるかに簡単でしょう
検索文字列を受け取って、それにアスタリスクをつけて、namazuのURLを呼び出せばいいですね。
これだとMySQLは要りません。
PHPで数行です。
この回答への補足
お返事遅くなりました。
なるほど、
しかし、自分にはどのようにしてそのようなスクリプトを書いてよいのかわからないので、もしよろしければ参考としてサンプルがあればと思っています。
namazuにて通常検索を行う時はURLの欄にこのようなURLが出てきます。
[code]
http://localhost/scripts/namazu.cgi?idxname=JPN& …
[/code]
ご存知だと思いますが、一応、
[code]
idxname=JPN
[/code]
これは、インデックスがJPNというフォルダにあるということです。
[code]
query=um
[/code]
検索文字列を「um」としただけのときです。umとはalbumのumの部分です。
[code]
query=*um*
[/code]
「*um*」とすると、あいまい検索になっていろいろと出てきてくれるんですが。。
具体的にPHPにどうやって渡せばよいのかサンプルコードを書いてもらえないでしょうか?
No.4
- 回答日時:
家庭内でMP3を共有するのであれば、サーバ上のMP3フォルダを
共有化したファイルサーバで間に合うでしょう。
こった方法で遠回りでも、PHPを使って見たいのであれば話は
変わりますが、何か必然性がありますか?
この回答への補足
ファイルサーバの音楽フォルダを共有設定にすれば一番簡単な方法ですが、LAN内のWEB操作を行いたいのです。
LAN接続されたPCより、WEB画面より曲を検索し、聴きたい曲を聴けるようになるのが一番よいのですがPHPで良いスクリプトが有れば知りたいと思っています。
No.3
- 回答日時:
ちょっと情報が少なすぎてどいう状況なのか、どうしたいのかわからないのですが、文面通りに捉えれば
1)特定ディレクトリのmp3からID3タグを抽出しMySQLに格納するPHPスクリプトを書く
2)指定の文字列でMySQLを検索し条件に合致するファイルを表示させるPHPスクリプトを書く
この方法でMP3サーバー(?)が構築できるかと思います。
ただ単純にnamazuのあいまい検索にアスタリスクをつけるのが面倒。というだけでしたら、namazuのフロントエンドに何を使っているかわかりませんが検索文字列の前後にアスタリスクを事前につけてnamazuに渡す処理をはさんだ方がはるかに簡単でしょう。
またPECLにnamazuモジュールがあります。
http://pecl.php.net/package/namazu
http://tag3.hp.infoseek.co.jp/php/php4_namazu.html
この回答への補足
基本的には文面どおりです。
PHPにて特定フォルダにあるMP3ファイル群のID3タグを吸出し、アルバム名、曲名、e.t.c.し、データベースや検索可能なファイルにするやり方などがまったくわからないのです。
もし、それら一連の動作を全て受け持ってくれるスクリプトがあればうれしいのですがなかなか見当たらないのが現状です。
No.2
- 回答日時:
できると思います。
ただし作るにあたって「どのようなスキルや知識が必要で、その中で自分にはまだないものがなになのか」を明確にしておくと効率もよくなりますよ。
自分の場合はまず
PHPでID3タグの取得(?)するには・・・
http://php.benscom.com/manual/ja/ref.id3.php
PHPからMYSQLを操作するには・・・
http://php.benscom.com/manual/ja/ref.mysql.php
PHPでアップローダーを作るには・・・
http://www.pahoo.org/e-soul/webtech/php02/php02- …
音楽をストリーミング配信するには・・・
http://www.linux.or.jp/JF/JFdocs/MP3-HOWTO-11.html
等から調べて、ある程度作れるかな?って思ってから作るようにしてます。
この回答への補足
k17s様
丁重な回答ありがとうございます。
ご指摘のように自分はまだPHPに関してのスキルはあまりありません。
namazuに関してのスキルも同じようなものですが、上記参照リンクより色々と調べさせていただきますm(__)m
No.1
- 回答日時:
MP3サーバって何ですか?
曲のデータベースを作るだけなら、MP3からID3タグを抽出すればできますね。
配信とデータベースの関係がよく分かりません。
この回答への補足
>MP3サーバって何ですか?
MP3サーバ = 用は音楽配信サーバです。
ただ、それを家庭内でやっているだけです。
>配信とデータベースの関係がよく分かりません。
namazuにてインデックスを作成するときも中身はデータベースのようなものだと自分は勝手に思っています。
>曲のデータベースを作るだけなら、MP3からID3タグを抽出すればできますね。
まさしくその通りです。
ただ、自分ではPHPにてどのようにしてそのようなサーバを作り上げてよいのかわからないのでここで質問させていただきました。
LAN内からのアクセス方法はサーバ側にwwwサーバがあり、httpで各部屋にある部屋からそのLAN内アドレスでアクセスすれば音楽ファイルを検索し、聞く事が出来るように現在はnamazuで構築しなっています。
その機能をphpにてやりたいと思っているのです。
具体的になぜnamazuではいけないのかといいますと、namazuでは「あいまい検索」をするときは検索用語の前後に*アスタリスクをつけなくてはなりません。namazuでこの検索方法の改変をするためにはどのようにして良いのかわからず、昔phpでその方法を実績している無料のphpスクリプトなるものがあったからです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 「掲示板のログイン画面」はPHP~MySQLに「データベース認証のシステム」方式です。 1 2022/09/27 05:00
- ネットワーク ニフティメールのiPhoneとWin PCでの運用 1 2023/03/30 11:19
- PHP PHP でメールフォームを作成したい 1 2022/05/04 22:28
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- サーバー Windowsサーバでグループを検索したい 1 2023/04/17 15:30
- ASP・SaaS イントラネットを構築したい 2 2022/04/24 11:08
- 哲学 物語における「魔法」は「実現可能性」というくびきがなく、作者がそれ故に恣意的に設定を決めることができ 2 2022/08/20 17:04
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- MySQL mysqlがインストールされているのかわかりません 1 2023/06/05 02:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セッションにIDを振って値を代入
-
チェックボックスによる検索
-
PHPで画像の渡しが上手く行きま...
-
複数のラジオボタングループを...
-
table を配列で取得
-
ゼロ除算
-
phpでのボタン押下の活性・非活...
-
input nameで日本語を使うと
-
<input type="hidden" >で配列...
-
受け渡した変数が、プログラム...
-
ラジオボタンをsessionで使いたい
-
同じページでフォームデータを...
-
チェックボックスのうちひとつ...
-
phpやmysqlで作る簡易掲示板作...
-
フォームでのリセットを使う方法
-
チェックボックスを使った複数...
-
【HTML(PHP?)】複数のフォーム...
-
PHPとHTML+Xamppの掲示板で画像...
-
画面が更新されてもチェックボ...
-
フォームへの前回入力値をクリ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
<input type="hidden" >で配列...
-
PHP ボタンが押されたら処理を...
-
検索時の選択内容を保持する方法
-
DBの値をチェックボックスに反...
-
ラジオボタンをsessionで使いたい
-
パラメーターを隠す
-
PHPで画像の渡しが上手く行きま...
-
フォームへの前回入力値をクリ...
-
フォームボタンを押すたびに数...
-
フォームでのリセットを使う方法
-
syntax error, unexpected '}' ...
-
PHPの関数実行
-
入力した部分を表示させたまま...
-
テキストボックスに初期値を入れる
-
phpで分からないエラーが出てし...
-
入力フォーム→確認画面→送信画...
-
画面が更新されてもチェックボ...
-
Javascript→PHPに...
-
配列をhiddenで
おすすめ情報