Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odczyt plików news...
Forum PHP.pl > Forum > PHP
mqmin
Mam taki skrypt do news`ów, który pokolei od 1 do max odczytuje pliki z określongo katalogu.

Kod
<?



$a=1;



while(1<=$a)



{



  $file=fopen("./news/news.6.2002/"."$a"."-6-2002.nw", "r");

  

  //lina powyrzej otczytuje pliki z katalogu zaczynajac od 1-6-2002.nw

  //do x-6-2002 gdzie x=max np. 10000000



  $page=fgets($file, 1000);

  

  echo("$page");

  

  $a++;

  

  if(!file_exists("./news/now/news".$a.".nws"))

  

  //jeśli plik x-6-2002.nw nie istnieje to przerywa odczytywanie.



  break;



}



?>


Wszytko gra tylko co jeśli w ciąg szukanych plików bedzie wyglądał tak:
1-6-2002.nw
2-6-2002.nw
3-6-2002.nw
4-6-2002.nw
5-6-2002.nw
9-6-2002.nw
Gdy skrypt wczyta 5-6-2002.nw to zakonczy dzialanie bo nastepny plik powinien miec nazwe 6-6-2002.nw.
Jak zrobić żeby odczytywał jescze dalesze przykładowo 9-6-2002.nw lub 123-6-2002.nw.

Chodzi o to że może się zdarzyć dzień w którym nie będe wpisywał news`a i skrypt nie pokarze tych kolejnych.

Druga sprawa to tak ustawić zakres przykładowo od 1-6-2002.nw do 31-6-2002.nw bo jeśli nie przerwe funkci to sktypt bedzi poszukiwał pliku do nieskończoności..

Nie biore pod uwage listowania katalogu...
castor
Kod
$a=1;

while($a<=31){

//tu twoj kod

$a++;

}
mqmin
dzieki castor
a oto gotowy skrypt by mqmin and castor
Kod
<?

$a=31;

   while($a>1)

   {

      $a--;

      $hat=date("d.Y");

      if(!file_exists("base/news/news.$hat/"."$a".".$hat.nw"))

         continue;

      

      $file=fopen("base/news/news.$hat/"."$a".".$hat.nw", "r");

      $page=fgets($file, 1000);

      $hex=explode("|--|", $page);

      echo("<table width=450 border=0 cellpadding=0 cellspacing=0 align=center>

           <tbody>

       <tr>

          <td>$hex[0]</td>

       </tr>

       <tr>

          <td><br>$hex[2]</td>

       </tr>

       <tr>

          <td>$hex[0], $hex[1] | $hex[3]</td>

       </tr>

       <tr>

          <td><br>$hex[4]<hr size=1 color=#000000></td>

       </tr>

        </table><br>");



   }

?>
hyper
Zdaje mi sie, ze powinno byc:
Kod
while($a >= 1)

Inaczej opuszczałby 1 dzien miesiaca.
kryr
lub a > 0
castor
Cytat
Zdaje mi sie, ze powinno byc:
Kod
while($a >= 1)

Inaczej opuszczałby 1 dzien miesiaca.


to po pierwsze a po drugi jego skrypt nie uwzglednia tez 31 dnia :wink:

...dlaczego?....

Kod
$a=31;

   while($a>1)

   {

      $a--;

  

  //tu kod a $a ma juz .......

  }
castor
Cytat
dzieki castor
a oto gotowy skrypt by mqmin and castor


ja juz tak napisales to trz bylo uzyc dokladnie mojego przykladu :wink:

dzialal by bez problemu w zakresie 1-31 a nie 30-2 :wink:
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.