私はいくつかの音楽を含むサイトのディレクトリを持っています。
私が欲しいのは、シンプルなボタンをクリックして、それらの音楽の1つを聴くことです。
これはphpを使用して可能ですか?
PHP は、データ処理とデータベースとの対話に使用されるサーバー側スクリプトです。あなたが探しているのはクライアント側のスクリプトなので、JavaScript またはフラッシュを使用する方が MP3 を再生するためのより良い方法です。インターネットでダウンロードまたはインストールできる無料の JS および Flash プラグインがたくさんあります。
私の個人的なお気に入りは、SoundManager2 ( http://www.schillmania.com/projects/soundmanager2/ ) です。 これは、独自のアプリケーションを作成およびカスタマイズするための開発タイプの API です。信じられないほど小さく最適化されたビルドのための、はるかに柔軟なオーディオ プレーヤーの 1 つです。
このスクリプト ジェネレーターを使用すると、Web ページでオーディオを再生できます。リンクは次のとおりです 。 http://www.scriptgenerator.net/44/Audio-player-script-generator/
HTML5 を使用できます。
var snd = new Audio("file.wav"); // buffers automatically when created
snd.play();
その後、onclicks などを使用して、snd.play()
しかし、あなたの質問を見ると、HTML5 は mp3 をサポートしていないと思います...
もちろん、これはPHPのみを使用しては不可能です(PHPはサーバーサイドであり、クライアントサイドでプレイしたいと思うため)。ただし、javascript / flashのいずれかを使用すると、これを簡単に実行できます。
クールになりたい(そして古いユーザーエージェントをサポートする必要がない)場合は、html5のネイティブオーディオを使用できます。
JSを使用してフラッシュにフォールバックするAudioManager2を楽しんでいます。
php で曲を直接再生するのは正しい方法ではないか、おそらくそれを行うための安全な方法を見つけることさえできないでしょう。これは、プレイリストを使用して完全なオーディオ プレーヤーをセットアップするのに役立ちます。しかし、繰り返しになりますが、あなたが何を考えているのかわかりませんが、曲を演奏するのに役立つ簡単な機能を作成しました。
<?php
function getUploadedFiles($directory){
$folder = opendir($directory);
while ($file = readdir($folder)) {
if($file !== '.' && $file !== '..')
{
$filename = $directory.'/'.$file;
$file_array[] = array('filename' => $file);
}
}
return $file_array;
}
$music = getUploadedFiles('music');
foreach($music as $value)
{
echo '<a href="music/'.$value['filename'].'">'.$value['filename'].'</a>';
}
?>
機能は主にユーザーのマシンにインストールされているブラウザーまたは音楽プレーヤーに依存するため、ユーザーが何を持っているかを信頼するのは決して正しくありません+ファイルパスが表示されます.
フォールバックとしてフラッシュをサポートする安定した jquery html5 プラグインを探すことをお勧めします。プレイリストを使用して完全なオーディオ プレーヤーを簡単にセットアップできます。
メディア処理はブラウザによって管理されます。これを行う最善の方法は、音声が埋め込まれた HTML ページを PHP から出力することです。以下を参照してください。
http://www.w3schools.com/html/html_sounds.asp
それらを HTML に適切に埋め込まないと、ブラウザーはそれらをダウンロード用のファイルとして扱い、再生にどのヘルパーを使用するか、単にディスクに保存するかは各ブラウザー次第です。