Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Помогите научить скрипт вытягивать информацию из mp3 файлов (https://forum.antichat.xyz/showthread.php?t=100725)

Vinsik 11.01.2009 16:53

Помогите научить скрипт вытягивать информацию из mp3 файлов
 
Здрасти всем =)
Помогите научить скрипт вытягивать информацию из 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'] ? substrbasename($_FILES['attached']['name']), -30 ) : '');
        
$x strtolowersubstr($_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
покажет всё о файле

Vinsik 11.01.2009 18:29

Цитата:

Сообщение от inlanger
http://www.phpclasses.org/browse/package/640.html
Class: MP3 ID3v2 Tag
покажет всё о файле

Я смотрел. Он вроде как только теги вытягивает. И я не знаю как его воткнуть в скрипт( нупчик я =)

inlanger 11.01.2009 18:33

Если нупчик, то учи матчасть, а потом пиши сложные скрипты.

Vinsik 11.01.2009 18:39

Цитата:

Сообщение от inlanger
Если нупчик, то учи матчасть, а потом пиши сложные скрипты.

ну могли бы хотяб дать ссылку на скрипт который будет вытягивать из мп3шек не теги а именно битрейт и продолжительность.

Kaimi 11.01.2009 18:40

http://www.sourcerally.net/Scripts/20-PHP-MP3-Class

Vinsik 11.01.2009 19:01

Цитата:

Сообщение от Kaimi
http://www.sourcerally.net/Scripts/20-PHP-MP3-Class

спс +3 , если напишу шару с этой инфой выложу сюды.

Vinsik 11.01.2009 19:27

Уменя одна проблема. Я не могу найти перменую битрейта и продолжительности) Помогите
http://www.sourcerally.net/Scripts/20-PHP-MP3-Class

Pashkela 11.01.2009 19:29

function doFrameStuff($parts)

Vinsik 11.01.2009 20:14

не получается( Если укаво будет время помогите пожалуйста(

Pashkela 11.01.2009 20:18

PHP код:

<?
//Extract the exact length of time 
$path 'path.mp3'
$mp3 = new mp3($path); 
$mp3->setFileInfoExact(); 
echo 
$mp3->time;
?>

все примеры сверху самого, просто закоментированны

Vinsik 11.01.2009 20:45

Цитата:

Сообщение от Pashkela
PHP код:

<?
//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 код:

<?php
include ('mp3.class.php');

а дальше код из примера, например так:

PHP код:

<?php
include ('mp3.class.php');
$path 'path.mp3';  
$mp3 = new mp3($path);  
$mp3->setFileInfoExact();  
echo 
$mp3->time;
?>


Vinsik 11.01.2009 21:07

Цитата:

Сообщение от Pashkela
:) Сохрани весь код, что там выложен (а лучше какой-то исправленный из первого каминта к коду скачай) как 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'] ? substrbasename($_FILES['attached']['name']), -30 ) : '');
        
$x strtolowersubstr($_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 код:

<?php 
include ('mp3.class.php'); 
$path 'path.mp3';   
$mp3 = new mp3($path);   
$mp3->setFileInfoExact();   
echo 
$mp3->time
?>

только вместо path.mp3 напиши имя твоего .mp3

Vinsik 11.01.2009 21:34

Цитата:

Сообщение от Pashkela
$path .= '($filen)',";

это чо такое? Если локально файл находится, то надо пользовать абсолютные пути, а не http, а еще если пишешь переменные в кавычках, то он должны быть двойные, а не одинарные, и что такое в конце ," - вообще не понятно

Оттести сначала отдельно в общем, не вставляй никогда незнакомый код сразу в проект

т.е. от_юзай это:

PHP код:

<?php 
include ('mp3.class.php'); 
$path 'path.mp3';   
$mp3 = new mp3($path);   
$mp3->setFileInfoExact();   
echo 
$mp3->time
?>

только вместо path.mp3 напиши имя твоего .mp3

Так имя моего mp3 ведь всегда меняется. В зависимости от загруженого файла!

Vinsik 11.01.2009 21:36

И какая же тут переменая выдаст мне информацию о битрете и прдолжительности?) Я ее не вижу) Вот пример как я хочу.
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>


Pashkela 11.01.2009 21:41

ну дык и сделай тогда так примерно:

$path = "/директория_загрузки/имя_только_что_загруженног _файла";

или, судя по твоему коду, так:

$path = $uniq;

И всё. Только у тебя там какие-то картинки загружаются вообще-то

Vinsik 11.01.2009 22:40

Цитата:

Сообщение от Pashkela
ну дык и сделай тогда так примерно:

$path = "/директория_загрузки/имя_только_что_загруженног _файла";

или, судя по твоему коду, так:

$path = $uniq;

И всё. Только у тебя там какие-то картинки загружаются вообще-то

Картинки обложки альбомов. И какие мне переменые подставлять в код чтоб получить $битрейт и $продолжительность?

Pashkela 12.01.2009 00:33

http://forum.antichat.ru/thread100792.html


Время: 22:42