勉強したことのメモ

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

  関連記事

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

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

HTMLのimgタグでブラウザ幅によって異なる画像を表示する方法

あるサイトのコーディングデータを貰った際に1つのimgタグに対して複数の画像が指 ...

スマホでフォームの画像アップロード部分でカメラを起動させる方法

formの画像アップロード部分で、スマホの場合にカメラで撮影させたい。以下に対応 ...

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

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

ajaxを使わずに非同期っぽくsubmitする

ajaxを使わずに見た目はページ遷移せず、 画像を含めたformをsubmitし ...