PDA

View Full Version : سوال: آپلود فایل بر اساس مقدار زمان فایل های صوتی



hashem64
پنج شنبه 08 فروردین 1392, 10:39 صبح
با سلام بخشی از سایت و یا بخش رادیو اینترنتی کاربر ها ی سایتم را میخواستم جوری کنم که وقتی فایل را میخواهند ارسال کنند فایل بیشتر از 5 دقیقه نباشه

میشه راهنمائی بفرمائید ؟

arenaw
پنج شنبه 08 فروردین 1392, 13:02 عصر
باید از یک سری کتاب خونه هایی که نوشته شدن استفاده کنی.
الان هم یک جا خوندم اگه از لینوکس یا یونیکس استفاده میکنی، این کدها قابل استفاده اند (بدون استفاده از کتابخونه)



$time = exec("ffmpeg -i " . escapeshellarg($path) . " 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//"); list($hms, $milli) = explode('.', $time); list($hours, $minutes, $seconds) = explode(':', $hms); $total_seconds = ($hours * 3600) + ($minutes * 60) + $seconds;
$path هم که...

این هم یه لینک که کمکت میکنه :
http://php.net/manual/en/refs.utilspec.audio.php

hashem64
پنج شنبه 08 فروردین 1392, 19:01 عصر
یعنی باید این کد و یا کتاب خانه را چه طوری استفاده کنم ؟

arenaw
پنج شنبه 08 فروردین 1392, 20:16 عصر
این فایلی که گذاشتم رو بذار کنار فایلهات، و ازین کد واسه فهمیدن زمان فایل mp3 استفاده کن (تست کردم خودم اینو):


include_once('mp3.php');
$path = $_FILES['file']['tmp_name'];
$m = new mp3file($path );
$a = $m->get_metadata();
if ($a['Encoding']=='Unknown')
echo "?";
else if ($a['Encoding']=='VBR' || $a['Encoding']=='CBR')
echo $a['Length mm:ss'];
unset($a);

اینم یه مثال از اطلاعاتی که میتونید از فایل امپیتیری بگیرید


Array
(
[Filesize] => 5108648
[Encoding] => CBR
[MPEG version] => 11
[Layer Description] => 01
[Protection Bit] => 1
[Bitrate Index] => 1010
[Sampling Freq Idx] => 00
[Padding Bit] => 0
[Private Bit] => 0
[Channel Mode] => 01
[Mode Extension] => 00
[Copyright] => 0
[Original Media] => 0
[Emphasis] => 0
[Bitrate] => 160
[Sampling Rate] => 44100
[Frame Size] => 523
[Length] => 252
[Length mm:ss] => 4:12
)

102041