Ankündigung

Einklappen
Keine Ankündigung bisher.

Video ordner mit PHP auslesen

Einklappen

Neue Werbung 2019

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

  • Video ordner mit PHP auslesen

    Hallo

    Ich wollte bei meiner Website Videos aus einem Ordner auslesen lassen und auf der Website mit Vorschaubild anzeigen lassen, da mir bereits gesagt wurde das das so nicht ganz einfach ist und meine Fähigkeit bei weitem übersteigt hab ich mir gedacht das ich doch Zwei Ordner machen kann einen mit den Videos und einen mit den Vorschaubildern.

    Nach etwas tüfftelei bin ich bis jetzt bei dem Stand das zwas die Videos aus dem Ordner gelesen werden doch alle das selbe Vorschaubild haben. In Videoordner befinden sich 4 Videos und im Bilder Ordner 1 Bild mit dem selben dateinamen wie eins der Videos.

    Füge ich jetzt ein Zweites Bild hinzu werden mir 2 mal 4 Videos auf der Seite angezeigt, je 4 mit einem Bild.

    Gibt es nicht die möglichkeit das überprüft wird ob der Selben dateiname im Video und Bilderordner ist und dann bei zusammen angezeit werden?

    Hier mal der Stand der dinge:

    PHP-Code:
    <?php
    $ordner 
    "testvid";
    $allevideo scandir($ordner);
    foreach (
    $allevideo as $video) {
    $videoinfo pathinfo($ordner."/".$video);
    $size ceil(filesize($ordner."/".$video)/1048576);
    if (
    $video != "" && $video != ".."  && $video != "_notes" && $videoinfo['filename'] != "" ) {

    $ordner2 "bilder";
    $allebilder scandir($ordner2);
    foreach (
    $allebilder as $bild) {
    $bildinfo pathinfo($ordner2."/".$bild);
    if (
    $bild != "." && $bild != ".."  && $bild != "_notes" && $bildinfo['filename'] != "") {


    ?>
        <li><div id="Area">
            <a href="<?php echo $videoinfo['dirname']."/".$videoinfo['basename'];?>">
            <img src="<?php echo $bildinfo['dirname']."/".$bildinfo['basename'];?>" width="180" height="90" alt="Ansehn" /></a>
            <span><?php echo $videoinfo['filename']; ?> (<?php echo $size ?>mb)</span>


        </div>
        </li>

    <?php
        
    };
    };
    };
    };
    ?>
    Ich hoffe meine Erklärung ist Verständlich und jemand findet den Hasenfuss in meinem Code ragou

    MFG Tobi

  • #2
    Vom Grundsatz solltest du die Namen deiner Vorschaubilder direkt aus den Namen deiner Videodateien ableiten können.
    Beispiel: myvideo.mp4 -> myvideo_mp4.png
    Dann holst du dir alle Videodateien (da eignet sich glob() sehr gut), bildest jeweils den Namen deines Vorschaubildes, prüfst ob es vorhanden ist und zeigst es an. Mal so im Groben.

    Dein obigen Code bin ich nicht weiter durchgegangen. Was auffällt, du benutzt pathinfo() falsch. Schau dir an, wie pathinfo() arbeitet und was es liefert.

    Kommentar


    • #3
      CROSSPOSTING

      Siehe http://phpforum.de/forum/showthread.php?t=280432
      Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

      Kommentar


      • #4
        Danke für den Hinweis, uha.
        So wie ich das sehe, ist er dort nach seiner Auffassung nicht zum Ziel gekommen und hat es dann hier versucht. Ein entsprechender Hinweis im Startpost wäre sicher angebracht gewesen.

        Kommentar


        • #5
          Zitat von jspit Beitrag anzeigen
          Danke für den Hinweis, uha.
          So wie ich das sehe, ist er dort nach seiner Auffassung nicht zum Ziel gekommen und hat es dann hier versucht. Ein entsprechender Hinweis im Startpost wäre sicher angebracht gewesen.
          Hab ich doch gesagt:

          mir bereits gesagt wurde das das so nicht ganz einfach ist und meine Fähigkeit bei weitem übersteigt
          Ich hole mir gern mehrere Meinungen ein da es wie ich schon beim Bild auslesen mitbekommen hab mehrere Wege gibt die zwar das selbe bewirken aber den noch unterschiedlich sind, z.b. hat mich noch keiner drauf hingewiesen das pathinfo() falsch ist. Auch auf die glob() hat bis jetzt noch keiner hingewiesen.

          Kommentar


          • #6
            Zitat von Tobi82 Beitrag anzeigen
            Ich hole mir gern mehrere Meinungen ein
            Genau, eine möglichst große Anzahl an Leuten wegen deinen fehlenden Grundlagen beschäftigen.
            Zitat von Tobi82 Beitrag anzeigen
            z.b. hat mich noch keiner drauf hingewiesen das pathinfo() falsch ist. Auch auf die glob() hat bis jetzt noch keiner hingewiesen.
            Wenn du die Grundlagen können würdest und in der Lage wärst, die Doku zu lesen, wärst du von alleine drauf gekommen.
            Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

            Kommentar


            • #7
              Leider versteh ich das PHP zeug nicht, hab schon PHP Bücher gelesen und Lernvideos geschaut trotzdem bleibt das ein Böhmisches Dorf für mich.

              Ich will weder PHP Beruflich noch Hobbymässig machen, ich will lediglich die Funktion hinbekommen das es mit den Videos klappt. Mit dem Bilder hab ich es trotz sperrlichem wissen hinbekommen.

              Wenn die Seite mal fertig ist will ich niewieder was von PHP hören, einfach nur die Videos in den einen Ordner und die Vorschaubilder in den andern den Rest macht die Seite.

              Ich seh ja auch das es scheinbar nicht so einfach ist die Funktion zuerstellen, zu dem Thema hab ich bis jetzt noch nichts im Internet gefunden, dafür 100 Videos wie mal Logins oder andere Sachen macht.

              Kommentar


              • #8
                Es ist halt Arbeit, die man (jemand) machen muss.

                Ev. versucht du es hier mal: http://www.php.de/scriptboerse/

                Und als Info auch noch der Verweis hierzu: http://php-de.github.io/jumpto/verzeichnis-auslesen/

                Lg
                The string "()()" is not palindrom but the String "())(" is.

                Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                PHP.de Wissenssammlung | Kein Support per PN

                Kommentar


                • #9
                  Ich hab je den Code schon soweit, es gibt halt nur das problem das er die Bilder nicht als Vorschaubild des Gleichnamigen Videos nimmt sondern für alle Videos

                  Kommentar


                  • #10
                    Zitat von Tobi82 Beitrag anzeigen
                    Ich hab je den Code schon soweit
                    Nee, hast du eben nicht. Was du da hast ist Käse.

                    So könnte es gehen (auf die Schnelle zusammengeschraubt und ungetestet)
                    PHP-Code:
                    <?php
                        $videos 
                    glob("./testvid/*.mp4")
                        
                        foreach (
                    $videos as $video)
                        {
                           
                    $filesize filesize($video) / 1024000;
                           
                    $basename basename($video".mp4");
                           
                    $image    "./testvid/" $basename ".jpg";
                           
                    $img file_exists($image) ? 
                                  
                    "<img src='$image' width='180' height='90' alt='Ansehen' />" 
                                  
                    "<img src='./testvid/nopreview.jpg' width='180' height='90' alt='Ansehen' />";
                           
                           echo 
                    "<li>
                                  <div id='Area'>
                                   <a href='
                    $video'>$img</a>
                                   <span>
                    $basename ($filesize MB)</span>
                                  </div>
                                 </li>\n"
                    ;
                        }
                    ?>
                    Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

                    Kommentar


                    • #11
                      es sagt:

                      Parse error: syntax error, unexpected 'foreach' (T_FOREACH) in C:\Webserver\xampp\htdocs\HS\test.php on line 18

                      zeile 4 ist:

                      foreach ($videos as $video)



                      Also ich versteh das so das der Video Typ bei dem Beispiel MP4 ist und die JPG Bilder im selben ordner liegen müssen. Das ist sogar besser als das Prinzip mit den zwei Ordner

                      Kommentar


                      • #12
                        PHP erwartet in Zeile 4 kein foreach, sondern etwas anderes. Der (Flüchtigkeits) Fehler kann auch vor der Zeile 4 liegen.

                        Kommentar


                        • #13
                          Hab es gefunden in der ersten Zeile fehlte am Schluss ein ;

                          Es funktioniert jetzt perfekt

                          uha ich danke dir so sehr du kannst dir gar nicht vorstellen was das für ein Goldschatz ist denn du "auf die Schnelle zusammengeschraubt" hast.

                          Kommentar


                          • #14
                            Das ist kein Goldschatz, das sind ein paar Grundlagen zusammengeschraubt, mehr nicht.
                            Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

                            Kommentar


                            • #15
                              Eine Frage stellt sich noch und da es zum Thema passt schreib ich es hier noch rein.

                              Gibt es eine möglichkeit die Anzahl der ausgegeben Videos pro Seite zu limitieren?

                              Also das auf Seite 1 Video 1 bis 6, auf Seite 2 Video 7 bis 12 usw angezeigt wird?

                              Der Praktische nutzen wäre die Übersichtlichkeit, ich hab bemerkt das die Seite schon Ziehmlich lang wird und sehr unübersichtilch obwohl ich nur 10 Videos im monemt hab.

                              Kommentar

                              Lädt...
                              X