H@nnib@ll: Wie gross ist die Datenmenge die ein array vertraegt?

Guten Abend alle zusammen,

mein Problem ist folgendes:

Ich habe ein array aus dem Links erstellt werden. Jedoch nimmt das array nur 136 Eintraege auf obwohl sich mehr Daten in der Quelle befinden! Gibt es eine Moeglichkeit diesen Wert zu erhoehen?

Ich habe schon ein array mit range versucht zu definieren! Doch sobald die 136 ueberschritten werden werden nur noch die Indexnummern ausgegeben!

Was mache ich falsch bzw. wo kann ich fuer eine Loesung ansetzen?

Besten Dank im voraus! Und sonnige Gruesse aus Spanien

H@nnib@ll

  1. Hi Hannibal,

    ... Jedoch nimmt das array nur 136 Eintraege ...

    warum auch immer, das ist keine Beschränkung von PHP sondern ein Fehler in deinem Programm.
    PHP kann Arrays so gross machen wie das Speicherlimit zulässt (typ. auf 8MByte gestellt, das sollte für einige 10000 Links reichen.)

    auf obwohl sich mehr Daten in der Quelle befinden

    Mangelnde Datenmenge wäre eine Fehlermöglichkeit, die andere ein Timeout, das ist ohne den relvanten Code aber Hellseherei.

    Gruss,
      Carsten

    1. Das ist mein Code:

      <?
      $verz = opendir("I:\usenet");
      $list = array();
      while ($file = readdir ($verz)) {
       array_push ($list, $file);
       }
      closedir($verz);
      sort($list);
      $count = 1;
      $max = sizeof($list);
      if ($selection < $max) {
       while ($count <= 20) {
        echo "<a href='http://172.26.0.9/usenet/".$list[$selection]."/gallery/album01' target='main'>".$list[$selection]."</a><br>";
        $count++;
        $selection++;
        }
       }
      echo $max;
      ?>

      1. Hi Hannibal,

        while ($file = readdir ($verz)) {

        while (($file = readdir ($verz))!==false) {
        sonst terminiert die schleife ggfls. unerwartet...

        http://www.php.net/manual/en/function.readdir.php

        $max = sizeof($list);

        hier muss wohl count($list); hin (Anzahl der Einträge im Array, nicht dessen gesammtgrösse)

        if ($selection < $max) {
        while ($count <= 20) {

        while ($count<=20 && $selection<$max){

        Gruss,
         Carsten

        1. Vielen Dank Carsten!!!!

          Mag vielleicht jetzt dumm erscheinen aber hast Du evtl. eine Erklaerung warum die Schleife vorzeitig abgerochen hat?

          Nochmals besten Dank fuer Deine Hilfe!!!!

          Gruss

          H@nnib@ll