Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przyjazne linki - sprawa folderów
Forum PHP.pl > Forum > PHP
Najki
Zrobiłem index.php i .htaccess wg. artykułu "Przyjazne linki" na php.pl.
Załóżmy, że struktura katalogu wygląda tak:

images/ - grafika strony
include/ - plik dla include
index.php

Teraz w index.php daję coś takiego:
  1. <?
  2. if (isset($arr[0])) {
  3. $arr[0] = basename($arr[0]);
  4. if (file_exists('include/'.$arr[0].'.php')) {
  5. include 'include/'.$arr[0].'.php';
  6. } else {
  7. echo 'Error 404';
  8. }
  9. } else {
  10. include 'include/news.php';
  11. }
  12. ?>

Gdzie $arr[0] to pierwsza wartość w URL po index.php, czyli dla adresu index.php/news/22/php_pl będzie to "news".

Niestety mam problemy z poruszaniem się między folderami przy użyciu tych przyjaznych linków. Gdy mam np. index.php/news to, aby wczytać grafikę, muszę użyć linka: ../images/grafika.jpg. Jeśli będę miał index.php/news/22 to do grafiki będzie adres: ../../images/grafika.jpg.

Jest jakiś sposób, aby to ominąć? W jaki sposób odnosić się do kolejnych plików?
W przypadku adresu index.php/news/22, $_SERVER['PATH_INFO'] przyjmuje wartość "/news/22". Pomocy.
Imperior
adres/obrazka.jpg - adresacja względna (od obecnego "folderu")
/adres/obrazka.jpg - adresacja bezwzględna (od domeny np. example.org/adres/obrazka.jpg)

Wystarczy, że będziesz adresował bezwzględnie smile.gif
Najki
Już prawie działa. Poprawnie się grafika wczytuje, gorzej z include plików .php.

Ogólnie suchar, bo:
Odnoszę się do grafiki przez src="/folder/images/ghrafika.jpg" i działa.
Odnoszę się do pliku php, który chcę include'ować przez include("/folder/include/plik.php") i nie znajduje go :/.
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.