Ankündigung

Einklappen
Keine Ankündigung bisher.

Hilfe zu einem script

Einklappen

Neue Werbung 2019

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

  • Hilfe zu einem script

    Hallo!

    Ich brauche Hilfe bei einem script, dass Verzeichnisse ausliest. Es liest auch Verzeichnisse mit Bildern aus nur soll es nicht alle Bilder dann auf einmal zeigen sondern immer nur 100 auf einmal. Also so wie eine Gallery mit mehreren Seiten soll es werden. Ich weiss nur leider ueberhaupt nicht was man da noch machen kann, also seid bitte so freundlich und helft mir. Hier ist der code:

    Code:
    if (!function_exists('fs_dir_list')) {
      function fs_dir_list($dirname, $return = 'all', $recursive = false) {
        if (is_dir($dirname)) {
          $d = dir($dirname);
          while($entry = $d->read()) {
            $is_dir = false;
            if ($entry != '.' && $entry != '..') {
              if (is_dir($dirname.'/'.$entry)) {
                $is_dir = true;
                $entry = $entry.'/';
              }
              switch ($return) {
                case 'all':
                $result_array[] = $entry;
                if ($is_dir && $recursive !== false) {
                  $tmp_array = fs_dir_list($dirname.'/'.$entry, $return, $recursive);
                  $result_array = array_merge($result_array, $tmp_array);
                }
                break;
                case 'files':
                if (!$is_dir) {
                  $result_array[] = $entry;
                }
                break;
                case 'dirs':
                if ($is_dir) {
                  $result_array[] = $entry;
                  if ($recursive !== false) {
                    $tmp_array = fs_dir_list($dirname.'/'.$entry, $return, $recursive);
                    $result_array = array_merge($result_array, $tmp_array);
                  }
                }
                break;
                default:
                die('Fatal error: inavlid "return"-parameter!');
                break;
              }
            }
          }
          $d->close();
          if (is_array($result_array)) {
            usort($result_array,"strnatcmp");
            return $result_array;
          }
        } else {
          echo('Fehler in '.$_SERVER['SCRIPT_FILENAME'].' ( fs_dir_list() ) beim Einlesen von '.$dirname.' --- Kein gültiges Verzeichnis!
    ');
          return false;
        }
      }
    }
    $test = fs_dir_list(".", 'all');
    $wert = "1";
    echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\">";
    foreach ($test as $key => $value) {
      $url2 = rawurlencode($value);
      $url = str_replace('%2F', '/', $url2);
      $pos = strpos ($url, "/");
      if ($url != "index.php") {
        if ($wert == "1") {
          echo "<tr>";
        }
        echo "<td>[img].$url.[/img]</td>";
        $wert = $wert +1;
        if ($wert == "5") {
          echo "</tr>";
          $wert = "1";
        }
      }
    }


  • #2
    Re: Hilfe zu einem script

    Zitat von ph1L666
    Ich brauche Hilfe bei einem script, dass Verzeichnisse ausliest. Es liest auch Verzeichnisse mit Bildern aus nur soll es nicht alle Bilder dann auf einmal zeigen sondern immer nur 100 auf einmal. Also so wie eine Gallery mit mehreren Seiten soll es werden. Ich weiss nur leider ueberhaupt nicht was man da noch machen kann, also seid bitte so freundlich und helft mir.
    Falls Du unter helfen nicht verstehst, daß Dir jemand den Rest dazuprogrammieren soll:
    1. es ist ungünstig, wenn Du bei jedem Request das/die Verzeichnisse liest. Packe beim 1. Request das Ergebnis in eine Session - sonst glüht die Festplatte.

    2. programmiere Dir einen "Pager" Mechanismus. Gehe dabei von dem Array Index aus: Zeige vom gewählten "Startpunkt" zB. 100 Bilder an und bilde "Blätter" Links, bei denen Du den nächsten Startpunkt angibst.

    3. Du hättest weniger Probleme, wenn Du Pfade und Dateinamen in einer Datenbanktabelle sammeln würdest. Beachte dabei, daß diese Tabelle dann gepflegt werden muß, wenn neue Bilder dazukommen oder Bilder gelöscht werden.

    Beispiele findest Du hier:
    17.10. Ich habe eine Tabelle mit n Einträgen und möchte auf jeder Seite m davon anzeigen
    http://www.dclp-faq.de/q/q-mysql-seitenweise.html

    PEAR:
    http://pear.php.net/package/Pager
    http://pear.php.net/package/Pager_Sliding

    Kommentar


    • #3
      Wie du dir sicher denken kannst stammt das script nicht ganz von mir, deswegen poste ich ja auch im Anfaenger Forum. Was du unter Punkt 1 meinst versteh ich nicht so ganz und in eine mysql db wollte ich das eigentlich nicht packen.

      Kommentar


      • #4
        Zitat von ph1L666
        Wie du dir sicher denken kannst stammt das script nicht ganz von mir, deswegen poste ich ja auch im Anfaenger Forum.
        Auch im Anfäner Forum gilt "Hilfe zur Selbsthilfe".

        Was du unter Punkt 1 meinst versteh ich nicht so ganz und in eine mysql db wollte ich das eigentlich nicht packen.
        1. bei jedem Request ein Verzeichnis mit (sagen wir mal) 1000 Dateien zu lesen, ist vermeidbarer Streß.

        2. Du sollst nicht die Bilder da rein packen sondern nur die Namen und die Pfade. Oder willst Du die SQL Abfrage
        Code:
        SELECT * FROM tabelle WHERE <irgendwas> LIMIT $start, 100
        mit PHP nachbasteln?

        Kommentar


        • #5
          Will das komplett ohne sql haben, aber wie du das mit nur namen einlesen meinst weiss ich immer noch nicht.

          Kommentar


          • #6
            Zitat von ph1L666
            Will das komplett ohne sql haben,
            "Des Menschens Wille ist sein Himmelreich."

            Kommentar


            • #7
              ja philosophie hilft mir da auch nicht weiter..

              Kommentar


              • #8
                Zitat von ph1L666
                ja philosophie hilft mir da auch nicht weiter..
                Lern lesen!

                "Will das komplett ohne sql haben,"

                Wenn Du das so und nicht anders willst, dann mußt Du Dir das Script eben einfach so programmieren. Ich wäre dazu zu faul, die Funktionalität einer SQL Anweisung mit PHP nachzubasteln.

                Kommentar

                Lädt...
                X