teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

2015/02/12 03:03

投稿

aviva
aviva

スコア130

answer CHANGED
@@ -1,37 +1,33 @@
1
- まず、userというフォルダ内に[songs]等の適当なフォルダを新しく作ってください。
1
+ まず、userというフォルダ内に[songs]等の適当なフォルダを新しく作ってください。
2
- そこにuserの曲データをすべて格納させて、.htaccessファイルを作成後に以下を追加してください。
2
+ そこにuserの曲データをすべて格納させて、.htaccessファイルを作成後に以下を追加してください。
3
-
4
- ```lang-<ここに言語を入力>
3
+
5
- Order Deny,Allow
4
+ Order Deny,Allow
6
- Deny from all
5
+ Deny from all
7
- ```
6
+
8
-
9
- これで外部からの直接接続を遮断出来るでしょう。
7
+ これで外部からの直接接続を遮断出来るでしょう。
10
-
8
+
11
- 次に、曲データへのアクセス方法についてですが、
9
+ 次に、曲データへのアクセス方法についてですが、
12
- 曲取得用のPHPスクリプトをuserフォルダ内に用意する方法はどうでしょうか?
10
+ 曲取得用のPHPスクリプトをuserフォルダ内に用意する方法はどうでしょうか?
13
-
14
- ```lang-<ここに言語を入力>
11
+
15
- /*
12
+ /*
16
- * ロジックサンプル
13
+ * ロジックサンプル
17
- */
14
+ */
18
-
15
+
19
- if( !empty( $_GET['song_title'] )) //取得する曲名を確認
16
+ if( !empty( $_GET['song_title'] )) //取得する曲名を確認
20
- {
17
+ {
21
- if(check_login()) //ログイン確認処理
18
+ if(check_login()) //ログイン確認処理
22
- {
19
+ {
23
- $mp3_data = "{$_SERVER['DOCUMENT_ROOT']}/user/songs/{$_GET['song_title']}.mp3";
20
+ $mp3_data = "{$_SERVER['DOCUMENT_ROOT']}/user/songs/{$_GET['song_title']}.mp3";
24
- if( file_exists( $mp3_data ) )
21
+ if( file_exists( $mp3_data ) )
25
- {
22
+ {
26
- header( 'Cache-Control: public' );
23
+ header( 'Cache-Control: public' );
27
- header( 'Content-Description: File Transfer' );
24
+ header( 'Content-Description: File Transfer' );
28
- header( "Content-Disposition: attachment; filename={$mp3_data}" );
25
+ header( "Content-Disposition: attachment; filename={$mp3_data}" );
29
- header( 'Content-Type: application/mp3' );
26
+ header( 'Content-Type: application/mp3' );
30
- header( 'Content-Transfer-Encoding: binary' );
27
+ header( 'Content-Transfer-Encoding: binary' );
31
- readfile( $mp3_data );
28
+ readfile( $mp3_data );
32
- exit;
29
+ exit;
33
- }
30
+ }
34
- }
31
+ }
35
- }
32
+ }
36
- die( "ERROR発生");
33
+ die( "ERROR発生");
37
- ```