勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

mp3ファイルのアップロードと再生方法

   2024/02/25  PHP HTML

mp3ファイルをformでアップロードしたかったのと、Webサイト上で再生したかった。以下にその方法をメモ。

 

ソースコード

アップロード

受信側

do{
    if( $_FILES['music']['size'] < 1 ) break; //ファイルサイズチェック
    if( $_FILES['music']['error'] != 0 ) break; //エラーチェック
    if( $_FILES['music']['type'] != 'audio/mpeg' ) break; //mp3かどうかチェック

    $path = './file/';
    $file = date('YmdHis') . '.mp3';

    if( !move_uploaded_file($_FILES['music']["tmp_name"], $path . $file) ) break; //アップロード

    $flg = true;
}while(0);

送信側

<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data">
    <input type="file" name="music"><br>
    <input type="submit" value="submit">
</form>

再生

<audio id="audio" controls>
    <source src="test.mp3">
</audio>

<input type="button" value="play" onclick="audio_play()">
<input type="button" value="pause" onclick="audio_pause()">

<script type="text/javascript">
function audio_play() {
    audio.play();
}
function audio_pause() {
    audio.pause();
}
</script>

 - PHP HTML

  関連記事

Googleカレンダーに追加する(予定を登録する)リンクを設置する方法

あるサイトに「Googleカレンダーに追加する(予定を登録する)ボタンを設置して ...

readonlyについて

日付ピッカーとかをテキストボックスに入れた際に、 ピッカー入力とあわせて直接入力 ...

同一フォーム内でクリックするボタンによって送信先を変更する方法

同一フォーム内で「登録する」ボタンと「プレビュー」ボタンを用意し、「登録する」を ...

lazyload.js等のライブラリを使わずHTMLのみで画像の遅延読み込みを行う方法

画像を遅延読み込みさせるとなるとだいぶ前に書いたlazyload.jsを用いる方 ...

フォームでカラーコードを入力したい際にプラグイン無しでピッカー機能を搭載する方法

あるフォームの項目でカラーコードを入力したいというケースがあった。だいぶ前に同じ ...