Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]banalny kłopot z include
Forum PHP.pl > Forum > Przedszkole
john_doe
Witam,

w katalogu głównym serwera mam

aplikacja/templates/header.php


  1. include('../header.php'); // chodzi
  2.  
  3. include('./aplikacja/header.php'); // nie chodzi
  4.  


bez kropki też nie
wypisuje NO SUCH FILE OR DIRECTORY

o co chodzi? co pominąłem?
Zosiek
a gdzie masz plik do którego includujesz/?
john_doe
aplikacja/analizy/handlowe/profitability

i tutaj daje te include

nie chce wstawiac ../../../header.php

chce bezwzgledna...
jmail
a jak w przeglądarce wywołujesz te pliki? w sensie ten który wywołujesz w przeglądarce jakie ma odniesienie do katalogów.
sadistic_son
Jak chcesz bezwzględną to musisz zacząć od katalogu glownego czyli np. dla windowsa c:/program files/jakis serwer/pliki http/aplikacja/header.php
eazy
Oto metoda którą stosuje w moim autorskim cms'ie
1. Na początku pliku definiujemy stałą która orientuje plik względem głównego katalogu (ponizej dla /katalog/*)
  1. define('ROOT', realpath(dirname(__FILE__)."/../").'/');

2. Do każdego 'include' dodajemy ROOT na początku:
  1. include ROOT."sys.php";

Zaincluduje '/sys.php' mimo ze mamy uruchomiony skrypt np. '/katalog/test.php'

john_doe
bezwzględna na serwerze to nie c://
raczej ./
ale nie działa.


plik w którym includuje
aplikacja/analizy/handlowe/profitability/index.php

plik który includuje jest w
aplikacja/templates/header.php

include daję w index.php

nie chcąc wstawiac
  1. include('../../../header.php');

próbuje
  1. include('./aplikacja/templates/header.php');

jmail
i na serwerze wywołujesz taki skrypt tak?

http://www.jakis_serwer.cos/aplikacja/anal...ility/index.php

co do katalogu głównego czytaj ze zrozumieniem - kolega napisał że c:\ będzie dla windowsa i przy ścieżce bezwzględnej.
Zosiek
1. Zależy od systemu jaki masz na serwerze
2. Zależy od tego jakie masz uprawnienia na serwerze
3. ./ to na lunxie i tam pewnie jest /var/www/i twoja strona lub w innym folderze
4. Na takim serwerze na pewno jest ograniczenie abyś nie mógł pójść wyżej (chyba ze jest twój 100 %)
5. Poco sobie życie trudzić jak działa ../../??
jmail
Zosiek głupot nie opowiadaj

Cytat
1. Zależy od systemu jaki masz na serwerze

3. ./ to na lunxie i tam pewnie jest /var/www/i twoja strona lub w innym folderze


spróbuj na windzie uruchomić cmd i wpisać cd ../ i wyjdzie Ci katalog wyżej. ./ również w windzie znaczy bieżący katalog. Nie znasz się to się nie wysuwaj albo sprawdź. Bo tak zamęt robisz

a co ma do tego system na serwerze? skoro posługujemy się niezależnym rozwiązaniem (../ ./)
eazy
  1. define('ROOT', realpath(dirname(__FILE__)."/../../../../").'/');
  2. include(ROOT.'aplikacja/templates/header.php');
Albo lepiej nie uruchamiaj bezpośrednio 'aplikacja/analizy/handlowe/profitability/index.php' tylko '/index.php' który includuje ten plik, a jak ci zależy na ładnym url'u to zastosuj mod_rewrite.

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.