Просмотр полной версии : Помогите научить скрипт вытягивать информацию из mp3 файлов
Здрасти всем =)
Помогите научить скрипт вытягивать информацию из mp3 файлов =)
Битрейт, продолжительность, размер.
<?
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){
?>
inlanger
11.01.2009, 18:21
http://www.phpclasses.org/browse/package/640.html
Class: MP3 ID3v2 Tag
покажет всё о файле
http://www.phpclasses.org/browse/package/640.html
Class: MP3 ID3v2 Tag
покажет всё о файле
Я смотрел. Он вроде как только теги вытягивает. И я не знаю как его воткнуть в скрипт( нупчик я =)
inlanger
11.01.2009, 18:33
Если нупчик, то учи матчасть, а потом пиши сложные скрипты.
Если нупчик, то учи матчасть, а потом пиши сложные скрипты.
ну могли бы хотяб дать ссылку на скрипт который будет вытягивать из мп3шек не теги а именно битрейт и продолжительность.
http://www.sourcerally.net/Scripts/20-PHP-MP3-Class
http://www.sourcerally.net/Scripts/20-PHP-MP3-Class
спс +3 , если напишу шару с этой инфой выложу сюды.
Уменя одна проблема. Я не могу найти перменую битрейта и продолжительности) Помогите
http://www.sourcerally.net/Scripts/20-PHP-MP3-Class
Pashkela
11.01.2009, 19:29
function doFrameStuff($parts)
не получается( Если укаво будет время помогите пожалуйста(
Pashkela
11.01.2009, 20:18
<?
//Extract the exact length of time
$path = 'path.mp3';
$mp3 = new mp3($path);
$mp3->setFileInfoExact();
echo $mp3->time;
?>
все примеры сверху самого, просто закоментированны
<?
//Extract the exact length of time
$path = 'path.mp3';
$mp3 = new mp3($path);
$mp3->setFileInfoExact();
echo $mp3->time;
?>
все примеры сверху самого, просто закоментированны
Только к сожалению я не понял ничего( Как это связать(
Pashkela
11.01.2009, 20:52
:) Сохрани весь код, что там выложен (а лучше какой-то исправленный из первого каминта к коду скачай) как mp3.class.php и в своём коде на первой строчке напиши:
<?php
include ('mp3.class.php');
а дальше код из примера, например так:
<?php
include ('mp3.class.php');
$path = 'path.mp3';
$mp3 = new mp3($path);
$mp3->setFileInfoExact();
echo $mp3->time;
?>
:) Сохрани весь код, что там выложен (а лучше какой-то исправленный из первого каминта к коду скачай) как mp3.class.php и в своём коде на первой строчке напиши:
<?php
include ('mp3.class.php');
а дальше код из примера, например так:
<?php
include ('mp3.class.php');
$path = 'path.mp3';
$mp3 = new mp3($path);
$mp3->setFileInfoExact();
echo $mp3->time;
?>
Ну и как же мне написать все это? не работает ниче! Я пробовал(
Вот
<?
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
Pashkela
11.01.2009, 21:21
$path .= '($filen)',";
это чо такое? Если локально файл находится, то надо пользовать абсолютные пути, а не http, а еще если пишешь переменные в кавычках, то он должны быть двойные, а не одинарные, и что такое в конце ," - вообще не понятно
Оттести сначала отдельно в общем, не вставляй никогда незнакомый код сразу в проект
т.е. от_юзай это:
<?php
include ('mp3.class.php');
$path = 'path.mp3';
$mp3 = new mp3($path);
$mp3->setFileInfoExact();
echo $mp3->time;
?>
только вместо path.mp3 напиши имя твоего .mp3
$path .= '($filen)',";
это чо такое? Если локально файл находится, то надо пользовать абсолютные пути, а не http, а еще если пишешь переменные в кавычках, то он должны быть двойные, а не одинарные, и что такое в конце ," - вообще не понятно
Оттести сначала отдельно в общем, не вставляй никогда незнакомый код сразу в проект
т.е. от_юзай это:
<?php
include ('mp3.class.php');
$path = 'path.mp3';
$mp3 = new mp3($path);
$mp3->setFileInfoExact();
echo $mp3->time;
?>
только вместо path.mp3 напиши имя твоего .mp3
Так имя моего mp3 ведь всегда меняется. В зависимости от загруженого файла!
И какая же тут переменая выдаст мне информацию о битрете и прдолжительности?) Я ее не вижу) Вот пример как я хочу. <tr>
<td><div align="center"><br>
<font color="FFFFFF">Код для форума если вы загружали mp3 файл.</font>
<br>
<textarea name="textarea" cols="100" wrap="soft" rows="3"> $БИТРЕЙТ $ПРОДОЛЖИТЕЛЬНОСТЬ СКАЧАТЬ (<?=$filen?>)
<?=$filen?></textarea>
</div></td>
</tr>
Pashkela
11.01.2009, 21:41
ну дык и сделай тогда так примерно:
$path = "/директория_загрузки/имя_только_что_загруженног _файла";
или, судя по твоему коду, так:
$path = $uniq;
И всё. Только у тебя там какие-то картинки загружаются вообще-то
ну дык и сделай тогда так примерно:
$path = "/директория_загрузки/имя_только_что_загруженног _файла";
или, судя по твоему коду, так:
$path = $uniq;
И всё. Только у тебя там какие-то картинки загружаются вообще-то
Картинки обложки альбомов. И какие мне переменые подставлять в код чтоб получить $битрейт и $продолжительность?
Pashkela
12.01.2009, 00:33
http://forum.antichat.ru/thread100792.html
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot