Здрасти всем =) Помогите научить скрипт вытягивать информацию из mp3 файлов =) Битрейт, продолжительность, размер. PHP: <? include("include/common.php"); if($loggedin){ include("include/accmenu.php"); } if( $_POST['submit'] && $_FILES['attached']['name'] ){ $ok_filetypes = explode("|",$att_filetypes); if (!$_FILES['attached']['error'] && $_FILES['attached']['size'] > $att_max_size*1024){ errform('<CENTER>Извините, слишком большой размер файла!</CENTER><BR><BR>'); // #err $step = 1; } $filename = (!$_FILES['attached']['error'] ? substr( basename($_FILES['attached']['name']), -30 ) : ''); $x = strtolower( substr($_FILES['attached']['name'], -3)); if($filename && !in_array($x, $ok_filetypes) ){ errform('<CENTER>Не поддерживаемый тип файла!!!</CENTER><BR><BR>'); $step = 1; } if(!$posterr){ if(!isset($_GET["ipaddress"]) || ($_GET["ipaddress"] == "")) { $ipaddress = $_SERVER['REMOTE_ADDR']; $local = 1; } else { $ipaddress = $_GET["ipaddress"]; $local = 0; } $uniq = strtolower(str_replace(' ','_',($_FILES['attached']['name']))); move_uploaded_file($_FILES['attached']['tmp_name'], $att_path."/".$uniq.".".$ext ); $strQuery = "INSERT INTO images25 SET "; $strQuery .= "filename='($uniq)',"; if($myuid){ $strQuery .= "user='{$myuid}',"; } $strQuery .= "status='1'"; $result = mysql_query($strQuery) or die( mysql_error() ); $aid = mysql_insert_id(); if($aid){ $filen = $siteurl."/".str_replace('./', '', $att_path)."/".$uniq.""; $filen = str_replace('http://','%%',$filen); $filen = str_replace('//','/',$filen); $filen = str_replace('%%','http://',$filen); //ITS AN IMAGE if($x=="jpg" or $x=="jpeg" or $x=="gif" or $x=="png" or $x=="jif" or $x=="jfif") { $filenx=$filen; } else { include("include/const.inc.php"); $filenx = $siteurl."/icons/".$Icons[$ext]; } $step = 2; }else{ $step = 1; } } }else{ $step = 1; } if($step == 1){ ?>
ну могли бы хотяб дать ссылку на скрипт который будет вытягивать из мп3шек не теги а именно битрейт и продолжительность.
Уменя одна проблема. Я не могу найти перменую битрейта и продолжительности) Помогите http://www.sourcerally.net/Scripts/20-PHP-MP3-Class
PHP: <? //Extract the exact length of time $path = 'path.mp3'; $mp3 = new mp3($path); $mp3->setFileInfoExact(); echo $mp3->time; ?> все примеры сверху самого, просто закоментированны
Сохрани весь код, что там выложен (а лучше какой-то исправленный из первого каминта к коду скачай) как mp3.class.php и в своём коде на первой строчке напиши: PHP: <?php include ('mp3.class.php'); а дальше код из примера, например так: PHP: <?php include ('mp3.class.php'); $path = 'path.mp3'; $mp3 = new mp3($path); $mp3->setFileInfoExact(); echo $mp3->time; ?>
Ну и как же мне написать все это? не работает ниче! Я пробовал( Вот PHP: <? include("include/common.php"); include ('mp3.class.php'); if($loggedin){ include("include/accmenu.php"); } if( $_POST['submit'] && $_FILES['attached']['name'] ){ $ok_filetypes = explode("|",$att_filetypes); if (!$_FILES['attached']['error'] && $_FILES['attached']['size'] > $att_max_size*1024){ errform('<CENTER>Èçâèíèòå, ñëèøêîì áîëüøîé ðàçìåð ôàéëà!</CENTER><BR><BR>'); // #err $step = 1; } $filename = (!$_FILES['attached']['error'] ? substr( basename($_FILES['attached']['name']), -30 ) : ''); $x = strtolower( substr($_FILES['attached']['name'], -3)); if($filename && !in_array($x, $ok_filetypes) ){ errform('<CENTER>Íå ïîääåðæèâàåìûé òèï ôàéëà!!!</CENTER><BR><BR>'); $step = 1; } if(!$posterr){ if(!isset($_GET["ipaddress"]) || ($_GET["ipaddress"] == "")) { $ipaddress = $_SERVER['REMOTE_ADDR']; $local = 1; } else { $ipaddress = $_GET["ipaddress"]; $local = 0; } $uniq = strtolower(str_replace(' ','_',($_FILES['attached']['name']))); move_uploaded_file($_FILES['attached']['tmp_name'], $att_path."/".$uniq.".".$ext ); $strQuery = "INSERT INTO images25 SET "; $strQuery .= "filename='($uniq)',"; if($myuid){ $strQuery .= "user='{$myuid}',"; } $strQuery .= "status='1'"; $result = mysql_query($strQuery) or die( mysql_error() ); $aid = mysql_insert_id(); if($aid){ $filen = $siteurl."/".str_replace('./', '', $att_path)."/".$uniq.""; $filen = str_replace('http://','%%',$filen); $filen = str_replace('//','/',$filen); $filen = str_replace('%%','http://',$filen); //ITS AN IMAGE if($x=="jpg" or $x=="jpeg" or $x=="gif" or $x=="png" or $x=="jif" or $x=="jfif") { $filenx=$filen; } else { include("include/const.inc.php"); $filenx = $siteurl."/icons/".$Icons[$ext]; } $step = 2; }else{ $step = 1; } } }else{ $step = 1; } if($step == 1){ $path .= '($filen)',"; $mp3 = new mp3($path); $mp3->setFileInfoExact(); echo $mp3->time; ?> $filen это например http://real.lan/share/uploads/1.mp3
$path .= '($filen)',"; это чо такое? Если локально файл находится, то надо пользовать абсолютные пути, а не http, а еще если пишешь переменные в кавычках, то он должны быть двойные, а не одинарные, и что такое в конце ," - вообще не понятно Оттести сначала отдельно в общем, не вставляй никогда незнакомый код сразу в проект т.е. от_юзай это: PHP: <?php include ('mp3.class.php'); $path = 'path.mp3'; $mp3 = new mp3($path); $mp3->setFileInfoExact(); echo $mp3->time; ?> только вместо path.mp3 напиши имя твоего .mp3
И какая же тут переменая выдаст мне информацию о битрете и прдолжительности?) Я ее не вижу) Вот пример как я хочу. PHP: <tr> <td><div align="center"><br> <font color="FFFFFF">Код для форума если вы загружали mp3 файл.</font> <br> <textarea name="textarea" cols="100" wrap="soft" rows="3">[center][url=<?=$filen?>] $БИТРЕЙТ $ПРОДОЛЖИТЕЛЬНОСТЬ СКАЧАТЬ[/url] [player]<?=$filen?>[/player][/center]</textarea> </div></td> </tr>
ну дык и сделай тогда так примерно: $path = "/директория_загрузки/имя_только_что_загруженного_файла"; или, судя по твоему коду, так: $path = $uniq; И всё. Только у тебя там какие-то картинки загружаются вообще-то
Картинки обложки альбомов. И какие мне переменые подставлять в код чтоб получить $битрейт и $продолжительность?