Skocz do zawartości

Funkacja, która zwraca aktualną nazwe pliku.


sir nimek

Rekomendowane odpowiedzi

Mam pytanie :

Do kilku plików za pomocą include wklejam inny plik np Inc.php.

Chciałbym, aby ten wklejany plik inc.php wykonywał różne funkcje, w zależności od tego gdzie został wklejony.

Czy istnieje funkcja, która rozpozna gdzie plik inc.php został wklejony i np zwróci nazwę tego pliku, tak abym za pomocą funkcji if mógł określić jaką operację plik inc.php ma wykonać.

Odnośnik do komentarza
Udostępnij na innych stronach

Na mój skromny gust przed include wystarczy założyć jakąkolwiek zmienną (ale chyba globalną) typu $cos=plik1

a później, już w inc.php zrobić instrukcję warunkową if ($cos=="plik1") {

Gdyby to nie pomogło, próbowałbym zarejestrować jakąś zmienną sesyjną przez plik nadrzędny, z jednoczesnym wtrejestrowaniem ewentualnych wcześniej założonych zmiennych.

pzdr

Odnośnik do komentarza
Udostępnij na innych stronach

Na mój skromny gust przed include wystarczy założyć jakąkolwiek zmienną (ale chyba globalną) typu $cos=plik1

a później, już w inc.php zrobić instrukcję warunkową if ($cos=="plik1")  {

No właśnie, przecież sam tak mam:D

W każdym pliku robisz globalną i później nieważne ile ich byś includował, to możesz zrobić warunek jak kolega wyżej napisał.

Polecam linki stałe w Seomatik.pl oraz dopalacz stron Gotlink.pl.

obrazek.jpg

Odnośnik do komentarza
Udostępnij na innych stronach

...Czy istnieje funkcja, która rozpozna gdzie plik inc.php został wklejony i np zwróci nazwę tego pliku, tak abym za pomocą funkcji if mógł określić jaką operację plik inc.php ma wykonać.

$_SERVER['SCRIPT_FILENAME']

lub lepiej

$_SERVER['SCRIPT_NAME']

i jeśli poprzez include to

include("inc.php?plik=".$_SERVER['SCRIPT_NAME']);

dalej powinienes sobie dać radę

Odnośnik do komentarza
Udostępnij na innych stronach

Na mój skromny gust przed include wystarczy założyć jakąkolwiek zmienną (ale chyba globalną) typu $cos=plik1

a później, już w inc.php zrobić instrukcję warunkową if ($cos=="plik1")  {

ewentualnie możesz w każdym pliku zrobić :

include 'inc.php';
jakas_funkcja(); // funkcja z inc.php, w każdym pliku inna

chodzi o to że najpierw do pliku cos.php includujesz inc.php, a potem wykonujesz funkcje dla pliku cos.php

foot.gif

Programista PHP / sql www.grzelka.info

Odnośnik do komentarza
Udostępnij na innych stronach

Przy temacie includowania plików może pare zdań na temat bezpieczeństwa ;)

Jeżeli ktoś includuje pliki na podstawie przekazanego parametru w adresie i zadeklaruje tylko jego rozszeżenie to nie może spać spokojnie (o ile nie zadeklarował jakie pliki mogą być konkretnie dołączone)

Przykładowo mamy taki kod:

<?

include($_GET['plik'].'.inc');

?>

Wszystko ładnie pięknie, siedzimy sobie przed monitorem wierząc w to, że nikt się nie dorwie do innych plików niż z rozszeżeniem .inc, a tu muszę Was zmartwić, bo zaraz zobaczycie w jak prosty sposób można sobie zaincludować (poprzez w/w kod) plik o rozszeżeniu np. .txt :)

Wystarczy w parametrze plik wstawić znak końca łańcucha (NULL) i dołączymy sobie jakikolwiek pliczek jaki nam się podoba.

czyli adres wtedy wyglądał by tak:

index.php?plik=tajne.txt%00 i co zaincludujemy ? ano plik tajne.txt pomimo iż nie ma rozszeżenia .inc :)

Więc najlepiej deklarować jaki plik może być zaincludowany a jaki nie bo ktoś może jakiś bałagan nam narobić.

Wiem, że to śmieszne ale zdarza się, że ktoś trzyma w plikach .txt bądz .inc hasła dostępowe...

Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności