![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 19.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Mam stronke, w ktorej zastosowalem min nastepujacy trik z funkcja "include":
W pierwszym pliku (nazwijmy go "plik1") includuje plik "plik2"z katalogu "KATALOG". W tym katalogu katalog mam "plik3", i tego skolei includuje sobie plik2. Kod ---KATALOG-
| | | |-plik2 | |-plik3 |-plik1 A kod plikow plik1, plik2 jest nastepujacy: Kod plik1:
include "KATALOG/plik2"; plik2: include "plik3"; Stronka dzialala do tej pory na php 4.1.2 na darmowym serwerze. Teraz przenioslem ja na php 4.2.3 i nie chodzi. I po godzinie doszedlem do wniosku, ze chodzi, jesli zrobie tak: Kod plik1:
include "KATALOG/plik2"; plik2: include "KATALOG/plik3"; Przy tej samej architekturze! Nie chce mi sie wiezyc, zeby tak podstawowa funkcja jak include nie byla przenosna pomiedzy dwiema wersjami php:( Czy jest jakis przelacznik w php.ini, ktory odpowiadalby za to? Gdzie moge to ustawic? Z gory OGROMNE dzieki za pomoc, kondzio;P ps. Dodam, ze gdyby zrobic tym drugim sposobem (ktory de facto jest duzo sztywniejszy, bo kaze pisac katalogi w kazdym includzie) to na tym pierwszym serwerze to tez pojdzie |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 19.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Wiecie co?! Poszperalem troszke jeshcze i zobaczylem, ze ja lokalnie tez mam php 4.2.3! I u mnie tez chodza obie opcje!
Jak to jest? Pomozcie mi to zrozumiec! |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 19.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Dokladny blad, jaki pojawia sie w przegladarce jest nastepujacy:
Kod Warning: Unable to access tresc.txt in /costam/costam/news.php on line 9
A wszystki prawa sa 777:( |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 456 Pomógł: 0 Dołączył: -- Ostrzeżenie: (0%) ![]() ![]() |
drugi kod jest poprawny bo sciezki do include podejemy wzgledem gownego pliku tj. u ciebie plik1 ktory includuje plik2 a ten skolei plik3...
php.ini: Cytat include_path = ".;c:phpincludes"
jesli masz taki zapis to skrypt szuka najpierw w katalogu aktualnym . a pozniej w C:phpincludes a na koncu wzgledem pliku gownego. -------------------- pozdrawiam
CASTOR |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 19.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Spox. Rozumiem.
Tylko dlaczego skrypt chodzi u mnie lokalnie, a nie chodzi na serwerze? Przeciez nie bede zmienial sciezek w kazdym wywolaniu includa, bo mam ich naprawde duzo:( Co zrobic? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
zdefinować zmienną, zawierającą adres bezwzględny do katalogu ze skryptem, a następnie, przy każdym wywołaniu funkcji include używać jej, wraz z aktualnymi podkatalogami, czyli... wszędzie adresy bezwzględne. Chyba najpewniejsze rozwiązanie.
Kod $dir='/root/user/';
include $dir . 'katalog/podkatalog/plik.php' -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 19.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
To jakby nie rozwiązuje problemu. Chodzi bowiem o to, zebym nie modyfikowal skryptu, który jest poprawny. Bo lokalnie przeciaz chodzi!
Czy nie chodzi tu raczej o jakies ustawienia? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
może twój serwer pozowoli na to:
Kod if( $t=ini_set('include_path' ,'.:/php/includes') ) '
echo "zmieniono"; else echo "nie zmieniono"; echo '<br>stara wartosc = ' . $t; czyli samodzielne ustawienie ścieżek przeszukiwanych katalogów na początku skryptu. -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 01:20 |