Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] mały skrypt newsów
Forum PHP.pl > Forum > Przedszkole
lukasi
Czy mógłby ktoś zerknąć na ten skrypcik, pisze newsy i mam drobny problem, ilość newsów zapisuje do pliku id.newsa, i z tamtą pobieram też nazwę, problem w tym że zapisuje newsy w takim systemie: 1, 2, 3..., a chcę zapisywać w ten sposób 0001, 0002, 0003... 0012... no i właśnie nie wiem jak doprowadzić do takiej postaci. poniżej załączam kod...

  1. <?
  2.  
  3. $akcja = $_GET['akcja'];
  4.  
  5. $data = date("d-m-y");
  6.  
  7. $scierzka = "./id.newsa";
  8. $scierzka2 = "./baza/";
  9.  
  10. switch($akcja) {
  11. default:
  12. ?>
  13. <form action="?akcja=dodaj" method="post">
  14. <input type="text" name="autor" /><br />
  15. <input type="submit" value="dodaj" /> <input type="reset" value="wykasuj" />
  16. </form>
  17. <?
  18. break;
  19. case 'dodaj':
  20. $autor = $_POST['autor'];
  21. $spr = file_exists($scierzka);
  22.  
  23. if (!$spr)
  24. {
  25. print ("Plik BAZY, zostal stworzony");
  26. $fp = fopen($scierzka , "w");
  27. flock($fp,2); 
  28. fputs( $fp , 1); 
  29. flock($fp,3);
  30. fclose($fp);
  31. }
  32. else
  33. {
  34. $plik=file($scierzka);
  35. $plik2= $plik[0]+'1';
  36. $fp = fopen($scierzka , "w");
  37. flock($fp,2); 
  38. fputs( $fp , $plik2); 
  39. flock($fp,3);
  40. fclose($fp);  
  41. //print ("Wartoc zostala zwiekszona");
  42. }
  43.  
  44.  if ($plik2 == "" ) $plik2 = '1'; 
  45. $nazwapliku = $scierzka2.$plik2.'.plk';
  46. $trescpliku = "Autor: ".$autor."rnNr_Newsa: ".$plik2."rnrn";
  47. $zapis = fopen("$nazwapliku","w");
  48. flock($zapis, 2);
  49. fwrite($zapis, $trescpliku);
  50. flock($zapis, 3);
  51. fclose($zapis);
  52.  
  53. print '<p>Dziękuję za dodanie newsa!</p><a href="index.php">powrot</a><br /><a href="?akcja=pokaz">Pokaz</a>';
  54.  
  55. break;
  56.  
  57. case 'pokaz':
  58. $scierzka2 = "./baza/";
  59.  
  60. $dir=opendir("$scierzka2");
  61. while($plik=readdir($dir))
  62. {
  63. if($plik!="." && $plik!="..")
  64. {
  65. $tablica = file( $scierzka2 . $plik );
  66.  
  67. arsort($tablica);
  68.  
  69. $autor = $tablica[0];
  70. $temat = $tablica[1];
  71.  
  72. print ('<p>'.$autor.'</p><p>'.$temat.'</p><br />');
  73.  
  74. }
  75. }
  76. closedir($dir);
  77.  
  78. break;
  79. case 'koment':
  80.  
  81. $nr_niusa = $_GET['nrn'];
  82. print $nr_niusa.'<br />';
  83.  
  84. $tablica = file( "./baza/$nr_niusa");
  85.  
  86. $autor = $tablica[0];
  87. $nr = $tablica[1];
  88.  
  89. print "$autor<br />$nr";
  90.  
  91. ?>
  92. <br /><br /><a href="index.php?akcja=pokaz">Powrót do newsów</a>
  93. <p>Skomentuj</p>
  94. <form method="post">
  95. <input type="text" name="komentarz" /><br />
  96. <input type="submit" value="dodaj" />
  97. </form>
  98. <?
  99. $scierzkax = "./baza/$nr_niusa";
  100. $komentarz = $_POST['komentarz'];
  101.  
  102. $tabliczka = file($scierzkax);
  103.  
  104.  
  105. for ($i=2;$i<count($tabliczka);$i++)
  106. {
  107. print "<p>$tabliczka[$i]</p>";
  108. }
  109.  
  110. if ($komentarz == "" ) die; 
  111.  
  112.  else
  113.  {  
  114. $koment = "Komentarz:".$komentarz."rn";
  115. $zapis = fopen("$scierzkax","a");
  116.  
  117. flock($zapis, 2);
  118. fwrite($zapis, $koment);
  119. flock($zapis, 3);
  120. fclose($zapis); 
  121.  
  122. header("Location: index.php?akcja=koment&nrn=$nr_niusa"); 
  123.  } 
  124.  
  125. break;
  126.  
  127. }
  128. ?>
kornel-php
Może ifem sprawdzaj wielkość liczby i jeśli mniejsza od 10 dopisuj 4 zera, jeśli mniejsza od 100 to 3 zera itd...
lukasi
dzięki, prosty ale bardzo dobry pomysłsmile.gif
tommy4
http://pl.php.net/manual/en/function.sprintf.php

z tego co pamiętam stare printf posiadały coś takiego jak %04d co formatowało liczbę na 000x 00yx i tak dalej

$str = sprintf("%04d", $number);

może to coś pomoże.
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.