Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP ja MP3 streamaus

yolo [24.09.2013 19:25:05]

#

PHP:ta osaan jotenkin, mutta nämä headerit yms. ovat hepreaa.

<?php

$file = './data/Skrillex - Bangarang.mp3';
    header('Content-type: audio/mpeg');
    header('Content-Length: ' . filesize($file));
    readfile($file);
?>

Biisi soi, mutta iPhonen Safari (jolla tämän pitäisi toimia) ei näytä sen pituutta, eikä kappaletta voi täten kelata. Jos lyön osoiteriville tuon ./data/Skrillex - Bangarang.mp3 niin homma toimii, eli vika on headereissa? Webserverinä Apache, ilmeisesti uusin.

Grez [24.09.2013 20:00:29]

#

No mikset katsoisi selaimella mitä headereita palvelin lähettää, kun käytät suoraa osoitetta?

yolo [24.09.2013 20:20:41]

#

PHP-tiedosto:

	.	Connection:Keep-Alive
	.	Content-Length:10346648
	.	Content-Type:audio/mpeg
	.	Date:Tue, 24 Sep 2013 17:14:47 GMT
	.	Keep-Alive:timeout=5, max=100
	.	Server:Apache/2.2.22 (Debian)
	.	X-Powered-By:PHP/5.4.4-14+deb7u4

Suora linkki:

	.	Accept-Ranges:bytes
	.	Connection:Keep-Alive
	.	Content-Length:1
	.	Content-Range:bytes 522026-522026/10346648
	.	Content-Type:audio/mpeg
	.	Date:Tue, 24 Sep 2013 17:15:40 GMT
	.	ETag:"e0ca3-9de098-4e720166e760e"
	.	Keep-Alive:timeout=5, max=99
	.	Last-Modified:Tue, 24 Sep 2013 12:15:08 GMT
	.	Server:Apache/2.2.22 (Debian)

ETag ja Content-Range näyttäisivät puuttuvan PHP-skriptistäni. Miten muodostaa nämä?

EDIT: Ja suorassa linkissä Content-Legth: 1 ??

Grez [24.09.2013 20:27:14]

#

Vaikuttaa siltä, että ero johtuu siitä, että php-skriptisi ei tue ns. byte servingiä, eli tiedoston osien lataamista.

Voisit vaikka googlettaa byte serving php
Tässä yksi sivu mikä em. haulla löytyi http://www.coneural.org/florian/papers/04_byteserving.php

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta