.pls Datei downloaden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • .pls Datei downloaden

    Hallo!
    ich weiss nicht, ob ihr das Problem kennt... aber eine Lösung wäre echt nice!
    Am 01.11. release ich die 4. Version meiner eigenen page (myscorpion.de) und bisher hatte ich immer einen Bereich der sich "Streams" genannt hat.

    Wer Streams kennt, weiss was .pls dateien sind. Webradios nutzen diese, damit bei ihren sendungen einschalten kann (.pls für winamp).

    Nun besteht bei mir folgendes Problem! Wenn man auf den "Download" Link klickt öffnet er die .pls datei anstatt sie zu downloaden. und das nervt! das war schon bei früheren versionen so, aber es gibt 100% eine möglichkeit das zu ändern.

    nur mal damit ihr es versteht, könnt ihr es hier selbst sehen: KLICK

    Wenn ihr da mal auf einen Stream klickt, seht ihr, dass die datei im browser geöffnet wird, was ja aber nicht so soll ....

    (ich weiss nicht, ob das hier das richtige forum ist, aber ich denke schon)

    Bitte um hilfe!
    Gruß Scorpion

  • #2
    header

    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="stream.pls"');

    Kommentar


    • #3
      du meintest wohl das:
      header
      ...dein link ging nich

      aber naja....
      irgendwie versteh ich das nich..... also ich habs jez das zweite mal gelesen aber irgendwie versteh ich immernoch nicht, wie das ganze anzuwenden ist....

      könnte da mal jemand ne kleine erklärung geben oder sowas?

      Kommentar


      • #4
        und ob mein Link geht.

        Ich hab dir doch schon fast fertigen code geliefert. Da sind auch genug stichworte drin, fall dir der ein oder andere header davon nichts sagt.

        Kommentar


        • #5
          also ich hab das ganze jetzt so:

          PHP-Code:
          <HTML>
          <HEAD>
          <TITLE><?php include("_title.php"); ?></TITLE>
          <HEAD>
          <?php
          header
          ('Content-Type: application/octet-stream');
          header('Content-Disposition: attachment; filename="stream.pls"');
          ?>
          ... Seite... Seite... Seite... So gehts weiter>>
          PHP-Code:
          echo "<table width='500' border='0' class='content_p' style='border:1px solid orange;border-collapse:collapse;'>
                    <tr>
                      <td width='450' style='border:1px solid orange;border-collapse:collapse;'>Name</td>
                      <td width='50' align='center'>Link</td>
                    </tr>
                      <tr>
                      <td style='border:1px solid orange;border-collapse:collapse;'></td>
                      <td style='border:1px solid orange;border-collapse:collapse;'></td>
                    </tr>"
          ;

              
          $stream_abfrage "SELECT * FROM streams WHERE genre = '$genre'";
              
          $stream_ergebnis mysql_query($stream_abfrage);
                   while (
          $stream_row mysql_fetch_object($stream_ergebnis))
                      {
                      echo    
          "<tr>
                      <td style='border:1px solid orange;border-collapse:collapse;'>
          $stream_row->name</td>
                      <td style='border:1px solid orange;border-collapse:collapse;' align='center'><a href='streams/"
          .$stream_row->link."' target='_self'><img src='images/winamp.png' border='0'></a></td>
                        </tr>"
          ;
                      }
              echo 
          "</table>"
          und dabei bekomm ich folgende Fehlermeldung:

          Warning: Cannot modify header information - headers already sent by (output started at /www/01610/htdocs/streams.php:3) in /www/01610/htdocs/streams.php on line 6
          Wie gesagt, ich versteh die Funktion einfach nich, das is das Problem...
          (gut ich will sie uach nich unbedingt verstehen, aber ich verstehe uach nicht aus dem text heraus wie genau sie wo platziert werden muss)

          Kommentar


          • #6
            Nein, du musst die Header in der zu herunterladenden Datei setzen! Also etwas a la:
            PHP-Code:
            // Datei stream.php
            if( !isset( $_GET['s'] ) ) {
              die( 
            "" );
            }
            $stream $_GET['s'];

            if( !
            i************istingStream$stream ) ) {
              die( 
            "" );
            }

            header('Content-Type: application/octet-stream');
            header('Content-Disposition: attachment; filename="stream.pls"');
            readfile'streams/'.$stream ); 
            Und die Download-Links erzeugst du dann in der Form
            PHP-Code:
            <a href='stream.php?s=".$stream_row->link."' target='_self'><img src='images/winamp.png' border='0'></a

            Kommentar


            • #7
              bei einem klick auf den "dllink" kommt die url
              http://meinedomain.de/streams.php?s=Fear.FM.pls

              Dadurch bleibt natürlich die seite selbst offen, aber "über" der page steht immernoch die fehlermeldung:
              Warning: Cannot modify header information - headers already sent by (output started at /www/01610/htdocs/streams.php:3) in /www/01610/htdocs/streams.php on line 8 & 9

              Und genau unter diesen Fehlermeldungen steht der Inhalt der Datei (hier als Beispiel der inhalt von Fear.FM.pls)
              [playlist] NumberOfEntries=1 File1=http://euroaccess.ff-radio.nl:8080

              Soweit scheint es ja schonmal in die richtige richtung zu gehen... aber es geht immernoch nicht, die datei wird nicht runtergeladen sondern geöffnet (scheinbar im header der seite)

              Kommentar


              • #8
                Ich sehe, deine Datei heißt streams.php. Die Datei stream.php, die ich hier beschrieben habe, ist aber eine andere Datei! Also schon
                Code:
                http://meinedomain.de/stream.php?s=Fear.FM.pls
                ...in /www/01610/htdocs/streams.php on line 8 & 9
                Die beiden Zeilen müssen dann natürlich aus der streams.php raus!!

                Kommentar


                • #9
                  es existiert bei mir keine stream.php! ...war das bewusst von dir, das s wegzulassen?

                  Also nur mal zum verständnis....
                  meine Datei sieht jetzt so aus:

                  KLICK @ NoPaste

                  jetzt können wir wenigstens auch über zeilen reden
                  Zuletzt geändert von DJScorpion; 30.10.2007, 22:48.

                  Kommentar


                  • #10
                    Ich weiß, dass diese nicht existiert
                    Also bitte lege diese jetzt an und fülle sie mit dem von mir geposteten Inhalt. Und alle weiteren Änderungen übernimmst du auch bitte, sonst kommen wir hier nicht weiter!!

                    edit:
                    PHP-Code:
                    <?php
                    $streama 
                    =  (isset($_GET['s'])) ? $_GET['s'] : "";  

                    header('Content-Type: application/octet-stream');
                    header('Content-Disposition: attachment; filename="stream.pls"');
                    readfile'streams/'.$streama );
                    ?>
                    Das hier gehört in die stream.php

                    Kommentar


                    • #11
                      achsooooooo
                      yeah jetzt gehts!!!!

                      kannste testen auf myscorpion.de/streams.php

                      fett danke!
                      ich werds morgen / nachher noch bissl anpassen und dann is perfekt!

                      man danke echt!! ...aber ich versteh noch nich, warum das in ne extra datei muss

                      Kommentar


                      • #12
                        In der streams.php gibst du den Link zum Download aus. In der stream.php "erzeugst" du den Download an sich (Header und Daten senden)

                        Kommentar


                        • #13
                          und wieder ein neues scheunentor im internet, dank dieses codes:

                          http://www.myscorpion.de/stream.php?s=../stream.php

                          Kommentar


                          • #14
                            Original geschrieben von 3DMax
                            und wieder ein neues scheunentor im internet, dank dieses codes:

                            http://www.myscorpion.de/stream.php?s=../stream.php
                            Guter Einwand. Darum hatte ich in meinem ersten Vorschlag dieses Schnippselchen gehabt:
                            PHP-Code:
                            if( !i************istingStream$stream ) ) {
                              die( 
                            "" );

                            Also Aufgabe an dich DJScorpion, du musst vorher überprüfen, ob es sich bei dem Übergabeparameter wirklich um einen Stream handelt.
                            (Sowas passiert, wenn User nur die Hälfte der Anregung übernehmen )

                            Kommentar

                            Lädt...
                            X