Dateien ausserhalb des webroots

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

  • Dateien ausserhalb des webroots

    hi,
    habb da ma wieder ne frage:
    ist es möglich, bilder und videos die ausserhalb des webroots liegen anzuzeigen??? das mit dem download is ja kein problem, readfile(), header und gut, aber wie kann man diese dateien im browser anzeigen?

    hoffe da gibt's ne möglichkeit...

  • #2
    willst du uns verar***en?
    aber wie kann man diese dateien im browser anzeigen
    gar nicht. denn nur was via web angezeigt werden kann, kann auch angezeigt werden.

    wenn dein webroot /web/root/ ist, so kannst du mit dem browser die datei /web/datei.avi nicht anzeigen lassen. schliesslich sind daten erst ab /web/root/ via web erreichbar.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Re: Dateien ausserhalb des webroots

      wenn es möglich ist, diese zum download anzubieten (was ja ein senden der daten an den browser erfordert) - wo ist dann noch das problem, sie auf analoge weise eben durch ein script für die ausgabe anzeigen zu lassen ...?

      z.b. um ein bild auszugeben, schreibst du dir halt ein script, dass den passenden mime type per header ausgibt, und anschliessend die binären bilddaten - und per <img> in eine html-seite eingebunden wird.

      und bei anderen sachen eben analog.


      OffTopic:
      für mich mal wieder eine dieser fragen, die bei ein bisschen eigenem nachdenken eigentlich gar nicht im forum gestellt werden müssten ...
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Re: Re: Dateien ausserhalb des webroots

        OffTopic:
        Original geschrieben von wahsaga
        wenn es möglich ist, diese zum download anzubieten (was ja ein senden der daten an den browser erfordert) - wo ist dann noch das problem, sie auf analoge weise eben durch ein script für die ausgabe anzeigen zu lassen ...?
        wenn ich ihn richtig verstanden habe, wollte er es direkt machen... *kopfschüttel*
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          o.k, hab mich nich "vollständig" ausgedrückt!

          @ abraxax sorry hast mich leider trotzdem falsch verstanden

          @ wahsaga = treffer, leider hab ich im speziellen fall das problem das dies leider nicht funken tut. es handelt sich hierbei um videos, mpegs. diese sollen mit folgendem code abgespielt werden:
          PHP-Code:
          <!-- WINDOWS MEDIA PLAYER mit ActiveX -->
          <!-- WINDOWS MEDIA PLAYER ohne ActiveX -->
          <OBJECT ID="MediaPlayer"
          CLASSID="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95"
          CODEBASE="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"
          TYPE="application/x-oleobject" 
          WIDTH="352" 
          HEIGHT="288" 
          BORDER="0"
          STANDBY="Lade Microsoft Windows Media Player..." >
          <PARAM NAME="FileName" VALUE="readfile.php?file=<?php echo $_GET['video']; ?>">
          <PARAM NAME="ShowControls" VALUE="true">
          <PARAM NAME="AutoStart" VALUE="true">
          <EMBED TYPE="application/x-mplayer2"
          SRC="readfile.php?file=<?php echo $_GET['video']; ?>
          WIDTH="352" 
          HEIGHT="288"  
          AUTOSTART="true"
          SHOWCONTROLS="true"> 
          </EMBED>
          </OBJECT>
          folgendes script soll die daten holen:
          PHP-Code:
          <?php
          // Name des Videos
             
          $file $_GET['file'];

          // Dieses Verzeichnis liegt außerhalb des Document Root und
          // ist nicht per URL erreichbar.
             
          $filename "mpg/".$file;

          // Passenden Datentyp erzeugen.
             
          header("Content-Type: video/basic");

          // Datei ausgeben.
             
          readfile($filename);
          ?>
          die videos werden leider nicht ausgegeben, fehlermeldungen gibts auch nich...
          Zuletzt geändert von crisdoe; 24.10.2003, 19:00.

          Kommentar


          • #6
            wo liegt das denn über dem Webroot???
            da fehlt doch der path Du hast doch einen relativen Pfad zu deiner datei angegeben...
            Beantworte nie Threads mit mehr als 15 followups...
            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

            Kommentar


            • #7
              selbst das funktioniert nicht!!!
              (habe die videos testweise auch ins webverzeichis gelegt, um die anzeige und den code ohne die readfile.php zu checken, dann gehts natürlich)

              bin ratlos, warum versteht weder der mediaplayer, noch der quicktimeplayer und realoneplayer dieses readfile.php zeugs???

              Kommentar


              • #8
                Original geschrieben von crisdoe
                @ abraxax sorry hast mich leider trotzdem falsch verstanden
                ok. das war dann wohl ein missverständnis..

                du hast html-code, der das video beinhalten soll.
                du hast eine 2. datei, die vom html-code als video-quelle angegeben ist.

                wie schon wahsaga sagte, muss du den path korrekt angeben. wenn die video-datei ausserhalb des webroots liegt, musst du den dortigen path korrekt angeben.

                wenn es innerhalb des WR's in einem subdir namens 'mpg' liegt, wie ich deinem code entnehme, müsstest du den path theoretisch wie folgt angeben.

                PHP-Code:
                $file 'video.mpg';
                $path $_SERVER['DOCUMENT_ROOT'].'/mpg/'// das hier.
                $filename $path.$file
                auch solltest du immer den passenden header mitsenden. nicht alle videos haben den gleichen header. oder?
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  ok, ich bin jetzt ein wenig schlauer und erfolgreicher, dennoch gibt es einige probleme zu umschiffen.

                  PHP-Code:
                  // Passenden Datentyp erzeugen.
                     
                  header("Content-Type: video/mpeg"); 
                  und
                  PHP-Code:
                  // VideoPlugIns benötigen immer den kompletten Pfad
                     SRC="http://xxx.de/readfile.php?file=<?php echo $_GET['video']; ?>"
                  sorgen erstmals für eine "gewünschte" ausgabe, d.h. im IE6 funktioniert das abspielen problemlos im quicktimeplayer und mediaplayer, der realplayer bringt dagegen den browser sofort zum absturz. im netscape 4.x spielt der realplayer ein 5sek video in 1sek ab. mozilla 1.4 und abspielen mit quicktimeplayer geht gar nicht, realplayer verhält sich ebenso wie im ns4.x, bei einem erneuten drücken der play taste des players dagegen keine probleme (im cache!)...

                  ich denke das man evtl. mit zusätzlichen header angaben vielleicht etwas erreichen kann, ich schau mir jetzt auch mal aus irgendeiner ahnung so sachen wie sleep(), flush() usw. an, vielleicht vielleicht...

                  thx, need help, crisdoe
                  Zuletzt geändert von crisdoe; 26.10.2003, 12:38.

                  Kommentar


                  • #10
                    ... es funktioniert!!!

                    und für alle die es interessiert:

                    1. die videoPlugIns benötigen immer eine absolute pfadangabe
                    2. die videoPlugIns benötigen die richtigen header (z.B. video/mpeg)
                    3. die videoPlugIns benötigen immer eine filesize(), einfach im header mitschicken, dann funkt alles optimal.

                    thx, crisdoe

                    Kommentar


                    • #11
                      hat jemand eine ahnung wie man das ganze mit einer playlist und *.wma files ausserhalb des webroots realisiert?

                      Kommentar


                      • #12
                        genau wie mit den anderen dateitypen auch... ;-)
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar

                        Lädt...
                        X