Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Podanie nazwy poprzedniego i następnego pliku.
Forum PHP.pl > Forum > Przedszkole
ichu
Siedziałem nad tym cały wieczór i jestem z siebie dumny smile.gif Dzięki pomocy kolegów z forum, a potem już tylko dzięki sobie, złożyłem taki oto mały skrypt. Jego zadaniem jest pobranie nazwy pliku który aktualnie wyświetlamy, rozbicie go na części (w wersji którą potrzebuję na stronę dodatkowo wykorzystuje i przypisuje tym częściom zmienne), a następnie oblicza, jakie są poprzednie i następne nazwy plików.
W moim przypadku nazwa pliku ma format kk_ppx99.php gdzie 'kk' to nazwa kategorii, '_' to pierwszy separator, 'pp' to nazwa podkategorii, 'x' to drugi separator, a 99 to numer pliku. Jeśli numer pliku jest mniejszy niż 10 (czyli ma właściwie jedną cyfrę), skrypt dopisuje wówczas '0' przed wyniki obliczeń.
Oto mój kod, działa chyba poprawnie, choć to już zostawiam do oceny bardziej doświadczonym kolegom winksmiley.jpg

  1. <?php
  2.  
  3. // Deklaracja potrzebnych zmiennych
  4. $ext= '.php';
  5. $pod= '_';
  6. $zero='0';
  7. $x='x';
  8.  
  9. // A tutaj zaczyna się skrypt
  10.  
  11. $plik=basename($_SERVER[PHP_SELF]);  // pobieramy nazwę pliku
  12. $podstawa=substr($plik, 0, -4);  // ucinamy rozszerzenie
  13. $prefix=explode('_', $podstawa);  //dzielimy nazwę pliku na kk oraz ppx99
  14. $numerek=explode('x', $prefix[1]);  // oddzielamy litery od cyfr
  15. $plus= $numerek[1] + 1;  // numer następnej strony
  16. $minus= $numerek[1] - 1;  // numer poprzedniej strony
  17. $liczba = strlen($minus);  // oblicza z ilu cyfr składa się liczba $minus
  18. if ($liczba <= 1)  // jeśli z 1, to dopisuje zero
  19. { $minus=($zero.$minus); }
  20. $prev=($prefix[0].$pod.$numerek[0].$x.$minus.$ext); // składamy nazwę poprzedniej strony
  21. echo $prev; // podaje nazwę poprzedniej strony
  22. echo '<br>';
  23. $liczba = strlen($plus);  // oblicza z ilu cyfr składa się liczba $plus
  24. if ($liczba <= 1) // jeśli z 1, to dopisuje zero
  25. { $plus=($zero.$plus); }
  26. $next=($prefix[0].$pod.$numerek[0].$x.$plus.$ext); // składamy nazwę następnej strony
  27. echo $next;  // podaje nazwę następnej strony
  28.  
  29.  
  30. ?>
ikioloak
Nie wnikam jak to dziala bo mi akurat ten skrypt raczej przydatny nie bedzie. Wazne ze cos kombinujesz samemu. Proponuje ubrac to w funkcje. Sugeruje jeszcze nauczyc sie sensowniej formatowac kod - mozesz wzorowac sie na standardach Zenda: http://framework.zend.com/manual/en/coding...ding-style.html
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.