rsort() - array ab [0] verhindern

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

  • #16
    bin zwar nicht blond aber ich weiss nicht worauf du deine frage beziehst
    Bezog sich einfach nur auf
    und merke ich gerade das bei der dump zwar die reichenfolge sich...
    Sätze ohne Syntax sind schwierig.
    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

    Kommentar


    • #17
      Zumindest das dreifache lesen der Datei ist überflüssig!
      Auf foreach umgestellt:
      Wo dein $akeys herkommt, oder wofür es gut ist knnte ich allerdings nicht feststellen..
      PHP-Code:
      <?php
      $filter 
      "./news/*.html"// <<--anpassen

      function author_link() // dummy 
      {}

      $dateien glob($filter,GLOB_NOSORT); // <<-- Pfad und Endung anpassen
      rsort($dateien);                        // umdrehen
      array_unshift($dateien,'dummy');        // neues Element an pos 0
      unset($dateien[0]);                     // Element an pos 0 entfernen 
      //print_r($dateien);                 // und Zack, da isses wie gewünscht

      $count 0;
      foreach(
      $dateien as $datei)
      {
          
      $count++;
          
      $content file_get_contents($datei);
          list(,
      $titel_show,)  = explode("<!--title-->" ,$content);
          list(,
      $author_show,) = explode("<!--author-->",$content);
          list(,
      $text_show,)   = explode("<!--text-->"  ,$content);
          
      // date, filename START
          
      $file_date_split explode("_"basename($datei));
          
      $file_date =    ltrim($file_date_split[2],"0");  // tag
          
      $file_date .=    ".";
          
      $file_date .=    ltrim($file_date_split[1],"0");  // monat
          
      $file_date .=    ".";
          
      $file_date .=    $file_date_split[0];  // jahr
          
      $file_date .=    " r.";
          
          echo 
      '
          <div style="height:15px; margin: 0px 4px;">
            <div style="float:left;">
              <b>Nr.</b> '
      .sprintf("%03d",$count).'
            </div>
            <div class="news_date" style="float:right;">
              '
      .$file_date.'
            </div>
          </div>'
      ;
          echo 
      '<fieldset>';
          if(
      trim($titel_show)!=""
           echo 
      '<legend align="center"><b>'.trim($titel_show).'</b></legend>';
          if(
      trim($text_show)!=""
            echo 
      '<div align="justify" style=" line-height:14px;" >'.trim($text_show).'</div>';
          if(
      trim($author_show)!=""
            echo 
      '<br /><br />'author_link(trim($author_show));
          echo
      '</fieldset><br />';
      }
         
      ?>
      Wir werden alle sterben

      Kommentar


      • #18
        wow *fasziniertguck*
        also so abkuerzen haette ich es bestimmt nie gekonnt *echt baff*
        $akeys = array_keys($datei); hatte ich vorher.
        das muss ich gleich mal testen =)
        weisst du was combie =) du bist echt ein schatz =D
        es werden die anderen maybe etwas meckern weil es sogesehen
        vorgemacht wurde, aber ich zeige dafuer was ich bis jetzt erreicht
        habe, was aber alles male nicht so gut ist wie dein code =)

        zB index.php
        PHP-Code:
        <?
        $parameter="news"; //rubrik udn zugleich ordnnername
        $news_wert=3; // anzahl der angezeigten artikel pro seite
        include('tech/dynamic.php'); // ist der verarbeitende script
        $parameter=""; // falls danach andere sachen folgen sollen zB notizen
        ?>
        tech/dynamic.php
        PHP-Code:
        <?
        $req_param=$_REQUEST[$parameter];
        $dir_raw="data/".$parameter;
        if(!$news_wert) { $news_wert=3; };

        $fname_link="";
        //filename_link- falls nicht in die index.php includet wird , sondern zB seite.php

        // <combie>
        $datei = glob($dir_raw.'/*.html',GLOB_NOSORT); // <<-- Pfad und Endung anpassen
        rsort($datei);                        // umdrehen
        array_unshift($datei,'dummy');        // neues Element an pos 0
        unset($datei[0]);                     // Element an pos 0 entfernen 
        #my_var_dump($datei);                 // und Zack, da isses wie gewünscht
        // </combie>

        // <Seitennummern als auswahl>
        $Seitennummern="";
        $zahlen="9";
        $Maxdatei=count($datei);
        for ($sn=1; $sn<=ceil (count($datei) / $news_wert); $sn++)
        {
        $Seitennummer="";
        if ($sn==1 and $req_param>(($zahlen-1)/2)+1 and $Maxdatei>$zahlen) $Seitennummer="$sn...";
        else if ($sn==1) $Seitennummer="$sn";
        if ($sn > 1 and $sn < $Maxdatei)
        {
            if ($sn >= $req_param-((($zahlen-1)/2)-1) and $sn <= ($req_param+((($zahlen-1)/2)-1))) $Seitennummer="$sn";    
            else 
            {
            if ($req_param<=((($zahlen-1)/2)+1) and $sn<$zahlen) $Seitennummer="$sn";
            if ($req_param>$Maxdatei-(($zahlen-1)/2) and $sn>$Maxdatei-($zahlen-1)) $Seitennummer="$sn";
            }
        }    
        if ($sn==$Maxdatei and $req_param <= $Maxdatei-((($zahlen-1)/2)+1) and $Maxdatei>$zahlen) $Seitennummer="...$Maxdatei" ;
        else if ($sn==$Maxdatei)  $Seitennummer=$Maxdatei;
        if ($Seitennummer <> "")
            {
            if ($Seitennummer == $req_param) $Seitennummern.= "<a class=\"link\" href=\"/$fname_link?$parameter=$sn\">$Seitennummer</a> ";
            else $Seitennummern.= "<a href=\"/$fname_link?$parameter=$sn\">$Seitennummer</a> ";
            }
        }
        echo $Seitennummern;
        // </Seitennummern als auswahl>

        // <datei-inhalte verabeiten>
        if(!$req_param or $req_param==1)
            {
            $from =    1;
            $to =     $news_wert;
            }
        else
            {
            $from =    $req_param*$news_wert-($news_wert-1);
            $to =     $req_param*$news_wert;
            }
        for ($i = $from; $i <= $to; $i++)
            {
            if($datei[$i]!=NULL)
                {
                    { // title
                    $fp=fopen($datei[$i], "r");
                    $titel_show = explode("<!--title-->",fread($fp,filesize($datei[$i])));
                    fclose($fp);
                    }
                    { // author
                    $fp=fopen($datei[$i], "r");
                    $author_show = explode("<!--author-->",fread($fp,filesize($datei[$i])));
                    fclose($fp);
                    }
                    { // text
                    $fp=fopen($datei[$i], "r");
                    $text_show = explode("<!--text-->",fread($fp,filesize($datei[$i])));
                    fclose($fp);
                    }
                // date, filename START
                $file_date_split = explode("_", $datei[$i]);
                //$file_date_split { [0]="2007" [1]="06" [2]="18" [3]="12-00" [4]="news" [5]="filetagg.html" }
                $file_date =    ltrim($file_date_split[2],"0");  // tag
                $file_date .=    ".";
                $file_date .=    ltrim($file_date_split[1],"0");  // monat
                $file_date .=    ".";
                $file_date .=    $file_date_split[0];  // jahr
                $file_date .=    " r.";
                // date, filename END
                echo '<div style="height:15px; margin: 0px 4px;"><div style="float:left;"><b>Nr.</b> '.sprintf("%03d",
                $akeys[$i]).'</div><div class="news_date" style="float:right;">'.$file_date.'</div></div>';
                echo'<fieldset>';
                if(trim($titel_show[1])!="") { echo '<legend align="center"><b>'.trim($titel_show[1]).'</b></legend>';}
                if(trim($text_show[1])!="") { echo '<div align="justify" style=" line-height:14px;" >'.trim($text_show[1]).'</div>';}
                if(trim($author_show[1])!="") { echo '<br /><br />'; author_link(trim($author_show[1])); }
                echo'</fieldset><br />';
                }
            }
        // </datei-inhalte verabeiten>
        ?>
        udn hiermit kann ich auch navigieren zB
        http://host/?news=2
        oder
        http://host/?notizen=5

        ist nichts angegeben so kommt das ins spiel
        $news_wert=3; // anzahl der angezeigten artikel pro seite
        ist "$news_wert" nicht angegeben so kommt wiederum das ins spiel
        if(!$news_wert) { $news_wert=3; };

        ich hoffe man versteht jetzt warum ich so dringend darauf bestanden hab =)
        also meine version laeuft klasse dank der glob() loesung =)
        jetzt muss sich nur noch die komplett combie loesung testen =)
        thx combie =*
        Zuletzt geändert von Ricola; 16.07.2007, 21:20.
        -wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>

        Kommentar


        • #19
          <combie>
          laeuft echt super =)
          und ist sher viel code weniger, wie schon gesagt,
          ich haette das so nie hinbekommen =D
          jetzt habe ich auch etwas gelernt "wie vielseitig man mit wenig code sein kann" =)
          </combie>

          jetzt bastle ich noch die "navi" und "pro seite" funktionen ein und denn bin ich happy =D
          obwohl ich es jetzt schon bin =D

          thx, bye erstmal, bis denn =)

          gez. das kleine dummi coding weiblein ;P
          -wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>

          Kommentar

          Lädt...
          X