Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] include i ścieżki dostępu.
gebp
post 31.07.2007, 19:28:33
Post #1





Grupa: Zarejestrowani
Postów: 180
Pomógł: 6
Dołączył: 10.04.2006

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


Nie jestem orzeł ale coś umiem skrobnąć w PHP.
Jednak mam teraz problem.
W tym co tworze cały czas (czyt. na w każdym pliku php) pojawia się ten sam kod. Chodzi o dostęp do bazy danych i parę innych rzeczy.

Tak więc zrobiłem z tego dwa pliki php w jednym katalogu i includowałem na każdej stronie w ten sposób:
  1. <?php
  2. include("../katalog1/plik1.php");
  3. include("plik2.php"); jeżeli plik includowany jest w tym samym katalogu co plik wykonywany
  4. // ... itp.
  5. ?>


Na XAMPP'ie wszystko grało jednakże jak przerzuciłem to na serwer to #@!% i nie działa. No to forum php + google trochę poczytałem i pytania moje następujące:

Czy jeżeli moja strona ma adres www.strona.pl/katalog a katalog z icludowanumi plikami znajduje się www.strona.pl/katalog/pliki_includowane/ to wystarczy że w na samym początku (plik index.php ) wpisze
  1. <?php
  2. include_path=".:/katakog/pliki_includowane";
  3. ?>

Czy będę musiał ten wpis powtarzać w każdym pliku?
Czy dobrze określiłem ścieżkę ?

Czy powyższe mogę zamienić na ( wiem że w każdym pliku)
  1. <?php
  2. include("https://www.starona.pl/katalog/pliki_includowane/dany_plik.php"); // proszę zwrócić uwagę że jest https ponieważ strona używa SSL
  3. ?>


Za odpowiedzi z góry dziękuję.
Go to the top of the page
+Quote Post
Koshin
post 31.07.2007, 19:36:58
Post #2





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 29.04.2002
Skąd: jesteś?

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


Może później wypowiedzą się bieglejsi, ale na gorąco:


  1. <?php
  2. include_path=".:/katakog/pliki_includowane";
  3. ?>


ten zapis .: jest chyba nieprawidłowy (dwukropek tam po co?)

po drugie, includowane pliki raczej wymagają ścieżki po stronie serwera, a nie adresu URL bo includowany plik będzie już wykonany (chyba że takie jest twoje zamierzenie)

Do tego przykład:

plik w którym includujesz znajduje się w glownym twoim katalogu (nie wazne czy to katalog na serwerze, czy na lokalnym komputerze)

to includując pliki podajesz sciezke dostepu do nich,a nie adres do nich.

jesli masz takie drzewo:

/index.php
/katalog/plik1.php
/katalog/plik2.php
/folder/plik3.php
/naglowek.php

to w pliku index.php zapis jest taki:

  1. <?php
  2. include('katalog/plik1.php');
  3. include('katalog/plik2.php');
  4. include('folder/plik3.php');
  5. include('naglowek.php');
  6. ?>



Jeśli to działało na windowsie, a nie działa na serwerze linuxowym, może problemem jest zapis ścieżki dostępu, zamiast c:\folder\plik.php powinno byc folder/plik.php

Do tego dochodzą prawa odczytu folderów i plików


--------------------
My czuwamy.eu abyś mógł spać spokojnie
zapasowakopia.pl - myśl zanim będzie za późno.
Go to the top of the page
+Quote Post
gebp
post 31.07.2007, 20:12:47
Post #3





Grupa: Zarejestrowani
Postów: 180
Pomógł: 6
Dołączył: 10.04.2006

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


Co do tych kropek (tzn. dwukropek) to wziąłem to z tąd

Jest to dyrektywa konfiguracyjna. Ale czy dobrze to zrobiłem to nie mam pojęcia.
Dalej nie wiem też ( o ile mój zapis jest prawidłowy to ) czy ma go powtarzać w każdym pliku czy tylko raz wykonać ?

Co do includowanych plików. Zawierają one m.in. parametry połączenia z bazą mysql. Jeżeli w danym skrypcie potrzebuje połączenia z bazą to includuje plik odpowiedzialny m.in. za połączenie. Jest to dla mnie o tyle dobre że przez pewien czas będę używał jednej bazy a potem chcę sie przenieś na inną (serwery). Zamias poprawiać wszystkie pliki zmienię tylko jeden.

Co do include. ~Koshin jeseteś pewien że chodzi o to "/" i "\" bo sposób który podałeś stosuje (dokładnie katalog\plik.php ). Pytam gdyż nie mam możliwości od razu sprawdzić na danym serwerze ( ja tylko co nieco skrobie) a kto inny wrzuca to na serwer.
Go to the top of the page
+Quote Post
Koshin
post 31.07.2007, 20:58:31
Post #4





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 29.04.2002
Skąd: jesteś?

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


Ja wszędzie używam / i wszędzie działa.

Ten dwukropek, to odnosi się do tego, iż oddziela podane kilka ścieżek includowania,
czyli w twoim przypadku . i /katakog/pliki_includowane

I raczej się tego nie stosuje w samym skrypcie.


--------------------
My czuwamy.eu abyś mógł spać spokojnie
zapasowakopia.pl - myśl zanim będzie za późno.
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 Wersja Lo-Fi Aktualny czas: 5.06.2025 - 20:11