###実現したいこと・前提条件
- 自分のサーバー(Wordpress運用中)にあるwavファイルの再生時間(長さ)を取得して出力したい
- Audioタグは使わない
- phpやjavascriptを使って取得したい
オーディオタグを使って、該当箇所のIDを指定すればjavascriptで実現できるような記事はいくつか見かけたのですが、
ファイルのURLを指定して情報を取得したいです。
###試したこと
例えば、単純にファイルのサイズを取得するだけであれば、下記の方法でできました。
php
1function get_filesize( $url, $unit = false, $decimals = 2 ) { 2 $headers = get_headers ( $url, 1 ); 3 if ( !empty ( $headers['Content-Length'] ) ) 4 $len = (int) $headers['Content-Length']; 5 else 6 return false; 7 if ( !$unit ) { 8 if ( $len >= pow ( 1024, 3 ) ) 9 $unit = 'GB'; 10 elseif ( $len >= pow ( 1024, 2 ) ) 11 $unit = 'MB'; 12 elseif ( $len >= 1024 ) 13 $unit = 'KB'; 14 else 15 $unit = 'B'; 16 } 17 if ( $unit == 'GB' ) 18 $len = number_format ( floor ( $len / pow ( 1024, 3 ) * 100 ) / 100, $decimals ) . $unit; 19 elseif ( $unit == 'MB' ) 20 $len = number_format ( floor ( $len / pow ( 1024, 2 ) * 100 ) / 100, $decimals ) . $unit; 21 elseif ( $unit == 'KB' ) 22 $len = number_format ( floor ( $len / 1024 * 100 ) / 100, $decimals ) . $unit; 23 elseif ( $unit == 'B' ) 24 $len = number_format ( $len ) . $unit; 25 return $len; 26} 27echo ( $len = get_filesize( 'ファイルのURL' ) ) ? $len : '取得できませんでした。';
引用元サイト
http://www.560designs.com/memo/1277.html
たぶん、phpオーディオをでファイルの長さを取得するのは無理なのではないかと思っています。
もしjQueryが必要であれば、読み込むべきプラグインやコードの書き方のヒントをいただきたいです。
###補足情報(FW/ツールのバージョンなど)
WordPress5.3.2
テスト環境サーバー:スターサーバー ライトプラン
phpバージョン:PHP7.3.14(意味ないかもしれませんが下げることは可能)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/06 05:39
2020/02/06 06:43
2020/02/06 06:45
2020/02/07 03:46 編集
2020/02/07 04:17
2020/02/07 04:50
2020/02/08 00:47 編集
2020/02/10 03:18