Announcement

Collapse
No announcement yet.

mp3 zum donwload anbieten

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • mp3 zum donwload anbieten

    Hallo Entwickler,

    folgenden Code habe ich in meiner download.php und sorgt dafür, dass eine Datei zum download angeboten wird.

    if (isset($_GET['file']) AND isset($_GET['pfad'])) {

    $_NAME = $_GET['file'];
    $_PATH = '../../downloads/'.$_GET['pfad'].'/';
    $_TYP = $_GET['typ'];

    if(is_file($_PATH.$_NAME)) {

    $filesize = @filesize($_PATH.$_NAME);
    $_DL_NAME = $_GET['file'];

    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Content-Type: application/'.$_TYP);
    header('Expires: 0');
    header('Pragma: public');
    header('Content-Disposition: attachment; filename="' . $_DL_NAME . '"');
    if ($filesize) header('Content-Length:'.$filesize);
    readfile ($_PATH.$_NAME);
    }
    else {
    echo "Es ist ein Fehler aufgetreten.<br><br>";
    echo "Entweder stimmt der Pfad <b>".$_PATH."</b> nicht oder<br>";
    echo "die Datei <b>".$_NAME."</b> ist nicht vorhanden.<br><br>";
    echo "Bitte informieren Sie den Administrator, damit der Fehler behoben wird.";
    }
    }

    Dem Script werden drei Parameter file, pfad und typ übergeben. Das ganze funktioniert auch "eigentlich" wunderbar.

    Zu Hause auf meinem "wampp" Server = funktioniert
    Auf meinem Server im Internet = funktioniert
    Auf dem Server meines Kunden = funktioniert NICHT

    Jedes mal, wenn ich den Link anklicke öffnet sich dieser besch..... Media Player. Ich kann ihn nicht mehr sehen.

    Kann es an der Konfiguration des Server liegen (apache,php)?

    Für Lösungswege bin ich im Voraus sehr dankbar.

    Gruß

    Alexander

  • #2
    könnte das u.U. daran liegen, dass du mit verschiedenen browsern (bzw. installierten plugins) auf die seite zu greifst ..?

    Grüße

    PÄdda

    Comment


    • #3
      Hallo Alexander,
      .
      zum PHP kann ich nichts sagen, aber Dein Problem wird (wahrscheinlich) darin liegen, dass bei Deinem Kunden halt der MädiaPläyer als Standardanwendung für MP3 konfiguriert ist. Mach mal einen Doppelklick auf eine MP3-Datei aus dem Exploder heraus. Da wird <b>er</b> sich auch öffnen. Bei einem niegelnagelneu installiertem XP wird das wohl auch so sein.
      .
      Gibt nur einen Workaround: WinAmp mit als Download anbieten und als bevorzugten Player für MP3 anpreisen.
      .
      mfg
      Michae

      Comment


      • #4
        Hallo Alexander,

        jenachdem was du in header('Content-Type: application/'.$_TYP); zurücklieferst, entscheidet der Browser was er damit macht. Also text, plain, html etc. zeigt er direkt an und für alle anderen schaut er nach ob es ein registriertes Plugin für diesen Content-Type gibt. Wie Michael schon sagt, wird bei deinem Kunden der Media-Player für sound und video typen registriert sein. Da es in den diversen Browsern diverse Einstellungen gibt, wie mit bekannten und unbekannten Formaten verfahren werden soll, hast du vom Server aus kaum eine Möglichkeit darauf Einfluss zu nehmen.
        Du könntest natürlich mal versuchen, die Dateien mit "Content-Type: application/octet-stream" auszuliefern. Damit sollte der Browser in jedem Fall das Downloadfenster öffnen. Im IE gibt es allerdings so eine Einstellung "Typen anhand des Inhalts statt Endung erkennen" oder so ähnlich. Kann also sein, das das Redmonder Produkt wieder schlauer sein will als der Entwickler das gerne hätte.
        <br>
        Gruß Fal
        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

        Comment


        • #5
          Mal so als kleinen Tipp:

          Auch wenn du deine Frage 20mal postest, wirst du nicht mehr und nicht hilfreichere Antworten bekommen
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment


          • #6
            Ich hoffe, daß Du nur einen teil des Scriptes gepostet hast und Du vorher die GET-Variablen genaustens validierst, denn ansonsten hast Du ein tolles Script geschrieben um einen Server auszuspionieren und beliebige Datein vom Server herunter zu laden!
            Ansonsten entscheidet die Konfiguration des Clients anhand des application-type was er mit herunter geladenen Daten macht, gerade im IE kann man einen Datei-Download nicht 100% erzwingen. Probier mal fest application/octet-stream oder packe jede Datei in eine ZIP-Datei

            Comment


            • #7
              Hallo Falk Prüfer und Xafford,

              zum mehrmaligen Posten sei gesagt, dass mir hier "offentsichtlich" ein Fehler unterlaufen ist. Ich hoffe, dass die Beträge nicht die Datanbank sprengen.

              Die Frage zur Sicherheit des Scripts ist berechtigt, darauf wird aber geachtet.

              application/octet-stream habe ich bereits mit dem selben Ergebnis ausprobiert.

              Gruß

              Alexande

              Comment


              • #8
                Hallo,

                vielen Dank für die Tipps. Ist schon schade, dass man von einem Browser so bevormundet wird. "Content-Type: application/octet-stream" scheint dann wohl die richtige Lösung zu sein

                Comment

                Working...
                X