Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Podanie nazwy poprzedniego i następnego pliku., Skrypt do oceny, może komuś się przyda.
ichu
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 26.08.2006

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


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


Ten post edytował ichu 26.08.2006, 22:59:04
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
ikioloak
post
Post #2





Grupa: Zarejestrowani
Postów: 416
Pomógł: 0
Dołączył: 8.01.2004

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


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

Ten post edytował ikioloak 26.08.2006, 22:58:51
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 02:04