Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Odczyt plików news...
mqmin
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 26.03.2002
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


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...
Go to the top of the page
+Quote Post
castor
post
Post #2





Grupa: Zarejestrowani
Postów: 456
Pomógł: 0
Dołączył: --

Ostrzeżenie: (0%)
-----


Kod
$a=1;

while($a<=31){

//tu twoj kod

$a++;

}
Go to the top of the page
+Quote Post
mqmin
post
Post #3





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 26.03.2002
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


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>");



   }

?>
Go to the top of the page
+Quote Post
hyper
post
Post #4





Grupa: Zarejestrowani
Postów: 207
Pomógł: 0
Dołączył: 7.03.2002
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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

Inaczej opuszczałby 1 dzien miesiaca.
Go to the top of the page
+Quote Post
kryr
post
Post #5





Grupa: Zarejestrowani
Postów: 268
Pomógł: 0
Dołączył: --
Skąd: kielce

Ostrzeżenie: (0%)
-----


lub a > 0
Go to the top of the page
+Quote Post
castor
post
Post #6





Grupa: Zarejestrowani
Postów: 456
Pomógł: 0
Dołączył: --

Ostrzeżenie: (0%)
-----


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 .......

  }
Go to the top of the page
+Quote Post
castor
post
Post #7





Grupa: Zarejestrowani
Postów: 456
Pomógł: 0
Dołączył: --

Ostrzeżenie: (0%)
-----


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:
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 20:28