Ankündigung

Einklappen
Keine Ankündigung bisher.

Downloads durch PHP

Einklappen

Neue Werbung 2019

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

  • Downloads durch PHP

    Guten Tag,
    mein Problem ist: ich will das man über PHP die Datei: xyz.exe runterladen kann, aber nicht mit http://www.xyz.de/xyz.exe runterladen kann. Bei Bildern könnte man ja mit dem FTP die Rechte so setzen, das PHP das Bild lesen kann, aber der Benutzer nicht lesen kann. Dann mit der header-Funktion den Content-type festlegen, und das Bild einlesen, würde das bei exe, doc, mp3, txt, usw.. auch gehen ?? wie ist der Content-type ?
    MFG FlipKnoT

  • #2
    http://pear.php.net/package/HTTP_Download
    Und Mime_Magic aktiveren, dann geht das wie von selbst ..


    Zitat von FlipKnoT
    Bei Bildern könnte man ja mit dem FTP die Rechte so setzen, das PHP das Bild lesen kann, aber der Benutzer nicht lesen kann.
    Ob Bild oder nicht ist unerhelblich ..
    und Da PHP und WebServer üblicherweise unter demgleichen User laufen, ist es da mit Diversifikation zwischen den Rechten ebenfalls Pustekuchen.

    Wohl aber kannst du
    a: die dateien ausserhalb des DOCUMENT_ROOT abelgen.
    b: dem Apache "deny from all" mitgeben, wodurch über HTTP (oder andere Protokolle) nicht über den Apache darauf zugegriffen werden kann (was auf PHP aber keinerlei Einfluss hat).

    Kommentar


    • #3
      ?

      danke, für die antwort,
      aber wenn ich ehrlich bin check ich das beispiel nicht ganz. es handelt sich um eine riesige klasse, die mir viel zu groß erscheint. Ich stell mir den Code so vor.
      Code:
      <?php
      header( "Content-type: application/*" );
      if( iscorrectsess( $_GET['PHPSESSID'] ) )
      {
        flush( getwholefile( $_GET['file'] ) );
      }
      else
      {
        echo "Falsche Session";
      }
      ?>
      ab dem flush() wird der Code vielleicht etwas unrealistisch aber ao in etwa müsste es doch gehen?

      MFG FlipKnoT[/code]

      Kommentar


      • #4
        Re: ?

        Code:
        <?php
        
        if( iscorrectsess( $_GET['PHPSESSID'] ) )
        {
        require_once 'HTTP/Download.php';
            $params = array(
                'file'                  => $_GET['file'],
                'contentdisposition'    => array(HTTP_DOWNLOAD_INLINE, basename($_GET['file']))
            );
        
            $error = HTTP_Download::staticSend($params, true);
        
        }
        else
        {
          echo "Falsche Session";
        }
        ?>
        Wie wäre es so?

        Kommentar


        • #5
          Danke für deine Geduld, aber
          mal ne blöde Frage, wo liegt die Header.php?
          die ist nicht in der gezippten Datei enthalten!
          ich habe die Header.php auch nicht im PEAR Ordner gefunden.

          MFG FlipKnoT

          Kommentar


          • #6
            http://pear.php.net/manual/en/installation.php

            Ansonsten
            http://pear.php.net/package/HTTP_Download/download ('Dependencies')

            Kommentar


            • #7
              Zitat von FlipKnoT
              Danke für deine Geduld, aber
              mal ne blöde Frage, wo liegt die Header.php?
              Mein lieber FlipKnoT, solche [ zensiert ] Fragen gehören einfach nicht ins Profi Forum.

              -> moved

              Kommentar

              Lädt...
              X