Toon posts:

[PHP] Openen van mp3

Pagina: 1
Acties:
  • 188 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Met een vrij een voudig php-scriptje, moet (nadat de herkomst vanaf mijn site is geverifieerd) een MP3'tje worden geopend. Het openen werkt prima, alleen er word 0kb binnengehaald?!?!

De code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?$referer = getenv('SERVER_NAME');
if ($referer != "hj.homeip.net")
{ 
Echo $referer;
Echo "Dacht het dus niet he?"; 
}
Else
{
Header("Content-type: audio/x-mp3");
Header("Content-disposition: filename=muziek.mp3");
passthru('music.mp3');
}
?>

Werkende (nou ja, niet-werkende) versie op: http://hj.homeip.net

  • Config
  • Registratie: Januari 2000
  • Laatst online: 06-01-2025
probeer es het hele pad in te vullen...

desnoods een is_file() check

Verwijderd

Topicstarter
nee en nee. Werkt allebei niet.

  • Tader
  • Registratie: September 2001
  • Laatst online: 13-08-2024

Tader

mx01.hotmail.com:~#

Jullie dom!!! |:(

passthru() voert een programma uit...

je zou dan passthru('cat bla.mp3'); moeten doen als je perse passthru wil gebruiken...

Doe anders de file openen en data doorpompen >:)
PHP:
1
2
3
4
5
<?
$fp=fopen("/home/mp3/muziek.mp3", "r"); 
fpassthru($fp); 
fclose($fp);
?>

Verwijderd

Topicstarter
Ok, ik dom, maar jij niet aardig! :)

Ik ga dit even uitzoeken, want met dat fopen heb ik nog niet gewerkt. Even php.net vragen.

Verwijderd

Topicstarter
Ik zal niet meten gaan zeggen dat jij dom bent, maar als ik die code gebruik, dan gaat ie het mp3-tje voorlezen (uitwerken met letters dus), hmmm... Wat kan ik hieraan doen??

Verwijderd

Topicstarter
* Kick * (beetje snel? Hmm, ik zit erom te springen)

Verwijderd

Ik weet het niet zeker maar denk (hoop) dat zoiets als dit wel werkt.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
if ($referer != "hj.homeip.net") { 
    
    echo $referer;
    echo "Dacht het dus niet he?"; 
    
} else {

    Header("Content-type: audio/x-mp3");
    Header("Content-disposition: filename=muziek.mp3");
    
    $file = fopen("muziek.mp3", "r");
    $mp3 = fread($file, filesize("muziek.mp3"));
    fclose ($file);
    
    echo "$mp3";

}
?>

Suc6 :)

Verwijderd

Moet je dat dan niet binary inlezen?
edit:
lama, dom. |:( fread is binary safe

Verwijderd

Topicstarter
Tja, dat zou je zeggen he? Maar neej, ook dat doet het niet, er wordt een downloadschermpje geopend, ik kan kiezen hoe en waar ik em wil opslaan. Dan is ie opgeslagen (VEEL te snel natuurlijk) en klik ik op Open, winamp word gestart, en daarmee houdt het op.

Maar als iemand even een blik wil werpen:

http://hj.homeip.net en dan Download!

  • red_indian
  • Registratie: Maart 2000
  • Laatst online: 24-06 16:43

red_indian

 Smokin' Suckz B!

als je het 'mp3' bestand opent:

<br>
<b>Warning</b>: Undefined variable: file in <b>c:\inetpub\wwwroot\download.php</b> on line <b>13</b><br>
<br>
<b>Warning</b>: stat failed for muziek.mp3 (errno=2 - No such file or directory) in <b>c:\inetpub\wwwroot\download.php</b> on line <b>13</b><br>
<br>
<b>Warning</b>: Supplied argument is not a valid File-Handle resource in <b>c:\inetpub\wwwroot\download.php</b> on line <b>13</b><br>

[edit]
mijn code ff nagezocht:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  // prepare file
  header("Content-disposition: filename=henk.mp3");
  header("Content-type: application/octetstream");
  header("Pragma: no-cache");
  header("Expires: 0");

  // output stream
  $fp = fopen($file, "rb");
  if($fp) 
  {
    fputs($fp, $query."\n\n");
    while(!feof($fp)) 
    {
    $read = fread($fp, 1024);
    echo $read;
    flush();
    }
    fclose($fp);
  }

deze code is getest, alleen dan niet met een lokaal bestand, maar met een stream vanaf een andere server.
heb de code aangepast en zou moeten doen.

maar geef je geen garantie ;)

Need a cuesheet/tracklisting? (meer dan 500.000 online)


Verwijderd

Topicstarter
Hmmm. Dit is toch om gek van te worden! Misschien hadden jelui had al gezien, maar ik draai IIS hier. Die foutmeldingen krijg ik al niet (en staan wél aan in de php.ini), en hij download nu slecht 149 kb. (Die niét af te spelen zijn)...

Verwijderd

149kb, lijkt erop dat de max_execution time te laag staat, of de time-out te laag.

kijk daar eens naar...

Verwijderd

Topicstarter
Staan allebei superhoog. Komt nog bij dat ie verder geen fouten geeft, en het downloaden ziet er ook gewoon "klaar" uit.

  • Tader
  • Registratie: September 2001
  • Laatst online: 13-08-2024

Tader

mx01.hotmail.com:~#

Op woensdag 14 november 2001 13:18 schreef HaaJee het volgende:
Ok, ik dom, maar jij niet aardig! :)

Ik ga dit even uitzoeken, want met dat fopen heb ik nog niet gewerkt. Even php.net vragen.
Tss... Niet aardig? Ik gaf je de complete oplossing... Veeel te aardig >:) Jij echter nog 1 dingetje een beetje vreemd... Ik geloof dat de Content-type voor mp3 audio/mpeg moet zijn... :? Tenminste dat zegt mijn mime.types file...

Daardoor zou kunnen komen dat:
Ik zal niet meten gaan zeggen dat jij dom bent, maar als ik die code gebruik, dan gaat ie het mp3-tje voorlezen (uitwerken met letters dus), hmmm... Wat kan ik hieraan doen??
Ik heb nog nooit problemen gehad dat slechts een deel van een file werd overgestuurd... Maar ik doe php altijd op het fantaaaaastische besturingssysteem Linux :P Sow... Have fun met NT :Y)

Update:
Ik heb zelf ff wat geklust, dit werkt perfect bij mij...
PHP:
1
2
3
4
5
6
7
<?
  header("Content-type: audio/mpeg");
  header("Content-disposition: filename=free-software-song.mp3");
  $fp = fopen ("/mnt/hdc1/home/jp/WWW/free-software-song.mp3", "r");
  fpassthru($fp);
  fclose($fp);
?>

Tja, eigenlijk is het een ogg file, maar dat doet er niet toe :D Helaas gaat hij nu eerst helemaal downloaden voordat winamp gestart wordt... Ik heb dit opgelost door met php een playlist te genereren :) (Content-type: audio/mpegurl)

Suc7

  • Tim
  • Registratie: Mei 2000
  • Laatst online: 23-07 15:18

Tim

lama

  • Config
  • Registratie: Januari 2000
  • Laatst online: 06-01-2025
Ikke dom zijn! Ikke geen verantwoordelijkeit kunne krijgn voor mein aktiez!

Gagagoegoegaga! Oei oei oei ik ben dom zeg, grutjes nog aan toe wat ben ik dom!

kijk anders gewoon naar flush()...

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19:37

me1299

$ondertitel

Hoog niveau hierzo :?

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


Verwijderd

Topicstarter
Ik wil graag een staande ovatie voor Tader! Het werkt, en het lag dus gewoon aan de content-type. Kerel bedankt!

En dan voor al die zogenaamd leuke cynici die het over (niet eens MIJN) opmerking "dom" moesten hebben: Geef antwoord of zeg niets!

T, your good!

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Op woensdag 14 november 2001 22:40 schreef Config het volgende:
Ikke dom zijn! Ikke geen verantwoordelijkeit kunne krijgn voor mein aktiez!

Gagagoegoegaga! Oei oei oei ik ben dom zeg, grutjes nog aan toe wat ben ik dom!

kijk anders gewoon naar flush()...
config, let aub een beetje op je taal.
Pagina: 1