Videos automatisch mit dem DivX Webplayer abspielen

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

  • Videos automatisch mit dem DivX Webplayer abspielen

    Hallo

    Da ich viele Videos mit meiner Kamera aufnehme hat ein Freund von mir mir ein PHP Script erstellt dass alle Videos die in einem Ordner liegen automatisch auflistet, wenn man eines davon dann anklickt erscheint automatisch der DivX Webplayer und gibt das Video wieder.

    Jetzt hat es aber ein Fehler im Script, da ich die Videos auf verschiedene Ordner aufgeteilt habe z.b. "Sommerferien 2008" ect. kommt es zu diesem Fehler.
    Denn wenn man einen Ordner anklickt kommt auch der DivX Webplayer und versucht den ORDNER wiederzugeben was er natürlich nicht kann ...

    Jetzt wäre ich extrem froh wenn mir jemand da weiterhelfen könnte und dies im Script ändern könnte da ich keine Ahnung von PHP habe.


    Demo


    Das ganze Script besteht aus 3 Dateien:

    index.php


    PHP-Code:
    <?php

    require_once("config.inc.php");

    echo
    "<html>
        <head>
            <title>Movies</title>
        </head>
        <body>
        <h1>Movies</h1><ul>"
    ;

    if (
    $handle opendir($moviedir)) {
        while (
    false !== ($file readdir($handle))) {
            if (
    $file != "." && $file != ".." && $file != "index.html") {
                echo 
    "<li><a href=\"play.php?movie=".$file."\">$file</a></li>\n";
            }
        }
        
    closedir($handle);
    }

    echo
    "</ul>
        </body>
    </html>"
    ;

    ?>

    config.inc.php

    PHP-Code:
    <?php

    $moviedir 
    "movies"// Von dieser Datei (config.inc.php) aus gesehen, wo die Movies liegen

    ?>

    play.php

    PHP-Code:
    <?php

    require_once("config.inc.php");

    echo
    "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>";

    ?>


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
        <head>
            <title>Play &raquo; <?php echo $_GET["movie"]; ?></title>
        </head>
        <body>

        <h1><?php echo $_GET["movie"]; ?></h1>
        <p><a href="index.php">Zur&uuml;ck zur &Uuml;bersicht</a></p>
        
        <div style="text-align:center; width:100%;">
        <object classid="clsid:67DABFBF-D0AB-41fa-9C46-CC0F21721616" width="640" height="372" codebase="http://go.divx.com/plugin/DivXBrowserPlugin.cab">
        
         <param name="custommode" value="none" />
        
          <param name="src" value="<?php echo $moviedir."/".$_GET["movie"]; ?>" />
        
        <embed type="video/divx" src="<?php echo $moviedir."/".$_GET["movie"]; ?>" custommode="none" width="640" height="372" pluginspage="http://go.divx.com/plugin/download/">
        </embed>
        </object>
        <br>No video? Get the DivX Web Player for <a style="text-decoration: underline;" href="http://download.divx.com/player/DivXWebPlayerInstaller.exe">Windows</a> or <a style="text-decoration: underline;" href="http://download.divx.com/player/DivXWebPlayer.dmg">Mac</a>
    </div>
        
        </body>
    </html>
    Zuletzt geändert von Murky; 23.10.2009, 10:30.

  • #2
    Hallo,

    diese Anfrage gehört in "Projekthilfe".

    Gruß,

    Amica

    PHP-Code:
    <?php
        
    require_once("config.inc.php");
        
        
    $extensions = array(".avi"".mkv"); // in die config.inc.php schieben

        
    function extensionSupported ($pFileName$pExt) {
            foreach (
    $pExt as $v) {
                if (
    basename($pFileName$v) . $v == $pFileName) {
                    return 
    true;
                }
            }
            return 
    false;
        }

        function 
    scanVideoFiles ($pPath$pExt$pStartPath null) {
            if (
    is_null($pStartPath)) {
                
    $pStartPath realpath($pPath) . "/";
            }
            
    $res = array();
            
    $dh opendir($pPath);
            while (
    $name readdir($dh)) {
                
    $path $pPath "/" $name;
                if (
    $name != "." && $name != ".." && is_dir($path)) {
                    if (
    $subres scanVideoFiles($path$pExt$pStartPath)) {
                        
    $res[$name] = $subres;
                    }
                }
                else if (
    is_file($path) && extensionSupported($name$pExt)) {
                    
    $res[$name] = str_replace("\\""/"substr(realpath($path), strlen($pStartPath)));
                }
            }
            
    closedir($dh);
            return 
    $res;
        }

        function 
    createLiElements ($pArray) {
            
    $res "";
            foreach (
    $pArray as $k => $v) {
                
    $res .= "<li>";
                if (
    is_array($v)) {
                    
    $res .= $k "<ul>" createLiElements($v) . "</ul>";
                }
                else {
                    
    $res .= "<a href=\"play.php?movie=" $v "\">" $k "</a>";
                }
                
    $res .= "</li>";
            }
            return 
    $res;
        }
    ?>
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
        <head>
            <meta http-equiv="content-type" content="text/html; charset=utf-8" />
            <title>Movies</title>
        </head>
        <body>
            <h1>Movies</h1>
            <ul><?php echo(createLiElements(scanVideoFiles($moviedir$extensions))); ?></ul>
        </body>
    </html>
    Zuletzt geändert von AmicaNoctis; 23.10.2009, 01:34.
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Sorry, habe mich gerade erst angemeldet und in der beschreibung steht:
      Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren.
      Würde also eigentlich passen von der Beschreibung her

      Kommentar


      • #4
        Ne, passt nicht

        Zitat von Murky Beitrag anzeigen
        Jetzt wäre ich extrem froh wenn mir jemand da weiterhelfen könnte und dies im Script ändern könnte da ich keine Ahnung von PHP habe.
        Du wolltest keine Probleme diskutieren, sondern konkrete Hilfe in Form von fertigem Code. Es ist jetzt auch kein Beinbruch, dass du das hier gepostet hast. Wenn wahsaga dann hoffentlich nochmal vorbeischaut, verschiebt er es an die richtige Stelle. Ich wollte dir das nur gleich für's nächste Mal sagen.

        Edit: Wenn ich grad schon einmal beim Belehren bin, hätte ich nochwas. Für Code gibt es auch entsprechende Buttons. Der Zitat-Button ist da ungünstig, weil der die Formatierung kaputt macht und es auch nicht so schön bunt wird.

        Läuft's jetzt wenigstens so wie's soll?
        Zuletzt geändert von AmicaNoctis; 23.10.2009, 01:11.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Mit diesem Code läuft gar nichts mehr!

          Hier die abgeänderte Version: Demo von der neue Version


          Folgender Fehler kommt immer:
          Parse error: syntax error, unexpected T_STRING in /var/www/test/index.php on line 51


          ps: Ich habe jetzt den ersten Beitrag editiert und den PHP Button benuzt
          Zuletzt geändert von Murky; 23.10.2009, 10:32.

          Kommentar


          • #6
            Dann nimm bitte die XML-Deklaration raus oder schalt das blöde short_open_tag in der php.ini ab.
            Zuletzt geändert von AmicaNoctis; 23.10.2009, 10:56. Grund: Sorry, war etwas zickig. Hab den Beitrag lieb gemacht.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              ... oder gib die XML-Deklaration mit PHP aus. Dann bleibt die Ausgabe valides XHTML-strict und dir kann die short_open_tag-Einstellung egal sein.
              PHP-Code:
              echo '<'.'?xml ....>'

              Kommentar


              • #8
                Wie ich gerade gesehen habe versteht ihr mich falsch!
                Ich wollte das wenn man ein Video anklickt automatisch dieses im DivX Webpalyer abgespielt wird.
                Und wenn man einen Ordner anklickt sollte sich dieser öffnen, damit man den ein Video darin aussuchen und anschauen kann!
                Es war nie die Idee diese einfach auszublenden

                Sorry wenn ich mich undeutlich ausgedrückt habe


                Hoffe ihr könnt mir trotzdem weiterhelfen.

                Kommentar


                • #9
                  Ordner werden nur ausgeblendet, wenn nichts drin ist. Vielleicht solltest du das erstmal ändern, bevor du dich schon wieder beschwerst.
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar


                  • #10
                    Beschwert habe ich mich nicht 1 mal!
                    Für mich ist es gar nicht selbstverständlicgh wenn sich jemand einfach so Zeit für mich nimmt und mir versucht zu helfen!
                    Daher habe ich mich auch gleich dafür entschuldigt das ich mich eventuell falsch ausgedrückt habe!

                    Ich werde gleich eine Datei in den Ordner kopieren udn schauen ob es jetzt geht.
                    Jedenfalls danke schonmal das du mir wieder geholfen hast

                    Kommentar


                    • #11
                      OffTopic:

                      Zitat von Murky Beitrag anzeigen
                      Beschwert habe ich mich nicht 1 mal!
                      ... sondern 2 mal:

                      Zitat von Murky Beitrag anzeigen
                      Mit diesem Code läuft gar nichts mehr!
                      Zitat von Murky Beitrag anzeigen
                      Wie ich gerade gesehen habe versteht ihr mich falsch!
                      Aber vielleicht liegt das an meiner subjektiven Interpretation der Ausrufezeichen, die in meiner Welt aus einer unbefriedigten Aussage eine Beschwerde oder einen Vorwurf machen.

                      Jedenfalls ist es in Foren günstig, wegen der fehlenden Mimik und Körpersprache, auf GROßSCHREIBUNG ZU VERZICHTEN und keine (!!!) Ausrufezeichen zu verwenden, wenn es auch ein Punkt tut, weil sonst manches leicht missverstanden werden kann!!!

                      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                      Super, danke!
                      [/COLOR]

                      Kommentar


                      • #12
                        Okay jetzt geht es ohne Probleme!

                        Noch eine kleine Frage:
                        Wie ich im 1. Post geschrieben habe habe ich sehr sehr viele Videos und da es mit dieser Methode die Dateien in den einzelnen ordner schon auf der Startseite anzeigt ist es leider extrem unübersichtlich

                        Könnte man es nicht so einstellen das man die Ordner zuerst öffnen muss damit man die Dateien darin sieht?
                        Denn schon die vielen Ordner geben ein wenig unübersichtlichkeit, aber wenn den die ganzen Videos darin auch noch gleich mitaufgelistet werden ist es wie ein Buch


                        ps: Dies sollte keine Beschwerde sein sondern eine Bitte es anderst Darzustellen!
                        Bin schon sehr froh das, dass Script jetzt ohne probleme funktioniert.
                        Wäre halt schön wenn es jetzt noch "perfekt" wäre

                        Kommentar


                        • #13
                          Da haben wir uns wohl ein wenig falsch verstanden

                          Mit dem ersten Punkt das jetzt nichts mehr geht wollte ich es nur "melden" und mich nicht beschweren.

                          Und zu Punkt zwei habe ich ja dazu geschrieben das ICH mich falsch ausgedrückt habe und nicht IHR etwas falsch gemacht habt.


                          Hoffe damit ist es geklärt das ich nur froh bin das ihr mir helft, und nicht das ich mich die ganze Zeit beschwere



                          ps: Falls du das Script möchtest um mir einfacher helfen zu können
                          Original Script: http://87.118.88.28/markyplay.rar
                          Zuletzt geändert von Murky; 23.10.2009, 21:01.

                          Kommentar


                          • #14
                            Zitat von Murky Beitrag anzeigen
                            Wie ich im 1. Post geschrieben habe habe ich sehr sehr viele Videos und da es mit dieser Methode die Dateien in den einzelnen ordner schon auf der Startseite anzeigt ist es leider extrem unübersichtlich
                            Das wusste ich leider nicht. Reicht dir auch was JS-dynamisches mit Auf- und Zuklappen? Ansonsten müssten nämlich die beiden Funktionen umgeschrieben werden.

                            PHP-Code:
                            <?php
                                
                            require_once("config.inc.php"); // $extensions muss dort schon drin sein

                                
                            function extensionSupported ($pFileName$pExt) {
                                    foreach (
                            $pExt as $v) {
                                        if (
                            basename($pFileName$v) . $v == $pFileName) {
                                            return 
                            true;
                                        }
                                    }
                                    return 
                            false;
                                }

                                function 
                            scanVideoFiles ($pPath$pExt$pStartPath null) {
                                    if (
                            is_null($pStartPath)) {
                                        
                            $pStartPath realpath($pPath) . "/";
                                    }
                                    
                            $res = array();
                                    
                            $dh opendir($pPath);
                                    while (
                            $name readdir($dh)) {
                                        
                            $path $pPath "/" $name;
                                        if (
                            $name != "." && $name != ".." && is_dir($path)) {
                                            if (
                            $subres scanVideoFiles($path$pExt$pStartPath)) {
                                                
                            $res[$name] = $subres;
                                            }
                                        }
                                        else if (
                            is_file($path) && extensionSupported($name$pExt)) {
                                            
                            $res[$name] = str_replace("\\""/"substr(realpath($path), strlen($pStartPath)));
                                        }
                                    }
                                    
                            closedir($dh);
                                    return 
                            $res;
                                }

                                function 
                            createLiElements ($pArray) {
                                    
                            $res "";
                                    foreach (
                            $pArray as $k => $v) {
                                        
                            $res .= "<li>";
                                        if (
                            is_array($v)) {
                                            
                            $res .= "<a href=\"#\" onclick=\"expandSubmenu(this)\">" $k "</a>"
                                                
                            "<ul class=\"submenu\">" createLiElements($v) . "</ul>";
                                        }
                                        else {
                                            
                            $res .= "<a href=\"play.php?movie=" $v "\">" $k "</a>";
                                        }
                                        
                            $res .= "</li>";
                                    }
                                    return 
                            $res;
                                }

                            ?>
                            <?xml version="1.0" encoding="utf-8"?>
                            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                            <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
                                <head>
                                    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
                                    <title>Movies</title>
                                    <style type="text/css">
                                        ul.submenu { display: none; }
                                    </style>
                                    <script type="text/javascript">/*<![CDATA[*/
                                        function expandSubmenu (pLink) {
                                            var ulNodes = document.getElementsByTagName("ul");
                                            for (var i = 0; i < ulNodes.length; i++) {
                                                if (ulNodes[i].className == "submenu") {
                                                    ulNodes[i].style.display = "none";
                                                }
                                            }
                                            pLink.nextSibling.style.display = "block";
                                            for (var n = pLink.parentNode.parentNode; n; n = n.parentNode.parentNode) {
                                                if (n.nodeName.toLowerCase() == "ul") {
                                                    n.style.display = "block";
                                                }
                                                else {
                                                    break;
                                                }
                                            }
                                        }
                                    /*]]>*/</script>
                                </head>
                                <body>
                                    <h1>Movies</h1>
                                    <ul><?php echo(createLiElements(scanVideoFiles($moviedir$extensions))); ?></ul>
                                </body>
                            </html>
                            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                            Super, danke!
                            [/COLOR]

                            Kommentar


                            • #15
                              Kann gerade nicht sagen ob ich das mit dem zuklappen gut finde da nur eine Fehlermeldung kommt

                              Parse error: syntax error, unexpected T_STRING in /var/www/index.php on line 51


                              Seite

                              Kommentar

                              Lädt...
                              X