Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: odczyt konfigurki php
Forum PHP.pl > Forum > Przedszkole
luinnar
Jak odczytać pole register_globals w configu php i czy da się zmienić jego wartość dla potrzeb skryptu tzn nie zmieniać jej całkowicie w konfigurce tylko wirtualnie tak jak to robi z sesjami funkcja session_save_path()
tiraeth
1) pole register_globals możesz odczytać tak:
  1. <?php
  2. ?>


2) chyba się nie da
luinnar
Chodziło mi bardziej o skryptowe odczytanie wartości tylko tego pola i przypisanie go do zmiennej tzn bez wyświetlania (czyli bez phpinfo() )
dr_bonzo
ini_set(), ini_get(), sprawdz czy da sie za ich pomoca zmienic ustawienie register globals -- raczej nie -- bo w momencie uzycia tych funkcji zmienne sa juz dawno zarejestrowane.

Poczytajj o flagach dla php ktore mozesz umieszczac w .htaccess ---> http://pl2.php.net/configuration.changes
luinnar
Tak dzięki za te funkcje to są te o które mi chodziło.

Jednak pojawił się nowy problem.

Były mi one potrzebne do tego aby mój skrypt zawsze ustawiał sobie register_globals na off. Jednak większość ludzi którzy instalują takie skrypty na bezpłatnych serverach (np lycos) mają register_globals na on i wyłączone funkcje ini_...() tak więc pisanie skryptów przez register_globals on jest w sumie nieopłacalne ponieważ dużo ludzi nie będzie mogło go zaimplementować.

Chyba że są na to jakieś inne sposoby?

Niestety ja ich nie widzę, a może wam coś świta?
dr_bonzo
Mozesz pisac skrypty uzywajac $_GET i $_POST ( czy ich starszych odpowiednikow) mimo ze register_globals jest ON.
luinnar
szkoda że nie napisałeś jek to sobie wyobrażasz.

musiałbym wysyłaś zmienne o nazwach $_GET['cos'] w adresie, zmienne sesyjne zaczynać od $_SESSION['ble']

o to ci chodziło?
dr_bonzo
Jesli przeslesz url
?val1=aaaa&val2=bbb

to mozesz sie do nich ZAWSZE odwolac
$_GET[ 'val1' ], $_GET[ 'val2' ] (lub w starszym php HTTP_GET_VARS?questionmark.gif)

a register_globals na ON doda ci tylko dodatkowe zmienne (NIEZALECANE)
$val1, $val2
luinnar
dr_bonzo dziękuje ci bardzo.
I przy okazji podziwiam wiedze która jest wielka w porównaniu do mojej.
Chewolf
Myślę że możesz też stosować :
  1. <?php
  2. if ($HTTP_POST_VARS) foreach ($HTTP_POST_VARS as $Key => $Value) $$Key = $Value;
  3. if ($HTTP_GET_VARS) foreach ($HTTP_GET_VARS as $Key => $Value) $$Key = $Value;
  4. ?>
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.