Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: długość mm:ss MP3
Forum PHP.pl > Forum > PHP
KRCreater
Jak za pomocą php sprawdzić jak długa jest mp3 w formacie minuty:sekundy oraz jak sprawdzić ile zajmuje <-- znajdującą się na innym serwerze, posiadając tylko link snitch.gif
.dragonfly
Polecam zapoznanie sie z tym linkiem.
kicaj
Poczytaj rozdzial o ID3: http://php.net/id3 smile.gif
.dragonfly
@kicaj_ chyba wcisnales tutaj tego posta na sile. Sekcja manuala ktora podales sluzy tylko do wyjasnienia sposobu odczytywania tagow id3 i nijak ma sie do tematu posta.
KRCreater
No to może ktoś mi powie jak sprawdzić ile zajmuje jakiś plik znajdujący się na innym serwerze niż znajduje się strona - dokładnie interesuje mnie ile zajmuje ten plik...


filesize() działa tylko na serwerze na którym się znajduje
  1. <?php
  2.  
  3. $plik = &#092;"www.costam.com/mp3/jakas.mp3\");
  4. filesize($plik);
  5.  
  6. ?>
mls
Pisane na szybko, i niezbyt pięknie winksmiley.jpg

  1. <?php
  2. function get_remote_filesize($url) {
  3. $url = parse_url($url);
  4. $f = fsockopen($url['host'], isset($url['port']) ? $url['port'] : 80);
  5. fputs($f, &#092;"HEAD {$url['path']} HTTP/1.1rnAccept: */*rnHost: {$url['host']}rnrn\");
  6. $txt = fread($f, 4096);
  7. fclose($f);
  8. if (!preg_match('/HTTP/1.1 200 OK/', $txt)) return false;
  9. if (!preg_match('/Content-Length: ([0-9]+)/', $txt, $txt)) return false; else return $txt[1];
  10. }
  11. ?>


Funkcja zwraca rozmiar pliku (w bajtach) lub false, jeśli wystąpił błąd (czyli serwer zwrócił odpowiedź inną od 200) lub jeśli serwer nie wysyła rozmiaru pliku.
KRCreater
Prubuję to jakoś zrobić żeby cokolwiek wyświetliło i nic hmmmm:

  1. <?php
  2. function get_remote_filesize($url) {
  3. $url = parse_url($url);
  4. $f = fsockopen($url['host'], isset($url['port']) ? $url['port'] : 80);
  5. fputs($f, &#092;"HEAD {$url['path']} HTTP/1.1rnAccept: */*rnHost: {$url['host']}rnrn\");
  6. $txt = fread($f, 4096);
  7. fclose($f);
  8. if (!preg_match('/HTTP/1.1 200 OK/', $txt)) return false;
  9. if (!preg_match('/Content-Length: ([0-9]+)/', $txt, $txt)) return false; else return $txt[1];
  10. echo $txt;
  11. }
  12. $url= &#092;"http://www.jakisserwer.com/161.mp3\";
  13. get_remote_filesize($url);
  14.  
  15. ?>
mls
Może raczej
  1. <?php
  2. function get_remote_filesize($url) {
  3. $url = parse_url($url);
  4. $f = fsockopen($url['host'], isset($url['port']) ? $url['port'] : 80);
  5. fputs($f, &#092;"HEAD {$url['path']} HTTP/1.1rnAccept: */*rnHost: {$url['host']}rnrn\");
  6. $txt = fread($f, 4096);
  7. fclose($f);
  8. if (!preg_match('/HTTP/1.1 200 OK/', $txt)) return false;
  9. if (!preg_match('/Content-Length: ([0-9]+)/', $txt, $txt)) return false; else return $txt[1];
  10. }
  11.  
  12. $url = 'http://www.jakisserwer.com/161.mp3';
  13. echo(get_remote_filesize($url).' B');
  14. ?>


Dopisanie echo $txt na końcu funkcji nic nie da, gdyż kod w tym miejscu nie jest już wykonywany (wcześniej funkcja jest opuszczana przez return).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.