Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie widzi plików css i js :/
Forum PHP.pl > Forum > PHP
czaku
Witam,

Problem zeżarł mi już masę czasu i nerwów..
Struktura katalogów wygląda tak(niech katalog główny nazywa się www):
www/
/_firma1/index.php

/_firma2/index.php

/wspolne/index.php

/css/ odpowiednie pliki css *.css

w zaleznosci czy wpiszemy firma1.pl czy firma2.pl w odp katalogu jest strona index.php która np. ustawia zmienną
  1. $strona=firma1
oraz includuje tę samą główną stronę index.php z katalogu www/wspolne/index.php poprzez
  1. include('../wspolne/index.php');
bo tak naprawdę cały czas jesteśmy w którymś z katalogów np. _firma1 i to jakoś działa. Jeśli jednak w katalogu www mam katalog css w którym zamieszczam odpowiednie pliki css do załączenia ich używam:

  1. $cssy= glob('../css/*.css');
  2. foreach( $cssy as $css)
  3. {
  4. echo '<link rel="stylesheet" href="' . $css . '" type="text/css" />';
  5. }


to coprawda funkcja glob je znajduje i dodaje do kodu html:

  1. <link rel="stylesheet" href="../css/glowny.css" type="text/css" />
  2. <link rel="stylesheet" href="../css/gora.css" type="text/css" />
  3. <link rel="stylesheet" href="../css/lewa.css" type="text/css" />
  4. <link rel="stylesheet" href="../css/prawa.css" type="text/css" />
  5. <link rel="stylesheet" href="../css/srodek.css" type="text/css" />


ale owe linki nie działają i css'y się nie załączają... :/

Pomóżcie mi...
Wcześniej w obu wypadkach było _firma1/css i _firma2/css i wtedy załączałem tym samym skryptem php ale oczywiście używając z przodu jednej kropki. Jednak skoro chcę mieć kilka podstron i każda ma mieć te same css'y to chciałbym je mieć zebrane w jednym miejscu a nie za każdym razem je przekopiowywać i przy ich modyfikacji w kilka miejsc kopiować. To samo z plikami js i niemalże identycznej strukturze...
tehaha
zrób linki do css absolutne czyli z http://www.nazwa-domeny.pl/css/style.css
czaku
Cytat(tehaha @ 26.04.2010, 11:51:23 ) *
zrób linki do css absolutne czyli z http://www.nazwa-domeny.pl/css/style.css


Tak, ale hmm mając stronę na dysku i wrzucając potem na serwer w jaki sposób zrobić linki absolutne skoro na dysku nie odwołam się poprzez "http://www.nazwa-domeny.pl/" a też potrzebuję jak to wygląda na dysku zanim wrzucę na serwer...?
230005
Zobaczysz, czy działa kiedy wpiszesz w przeglądarce localhost.
czaku
Cytat(230005 @ 26.04.2010, 12:02:36 ) *
Zobaczysz, czy działa kiedy wpiszesz w przeglądarce localhost.


Czyli pozyskuję ścieżkę absolutną poprzez $_SERVER['DOCUMENT_ROOT'] i odcinam ostatni katalog jakoś przetwarzając strina tj _firma1 i daję css/styl.css i powinno działać tak? Zaraz zobaczymy smile.gif
tehaha
ja do pliku header wstawiam coś takiego :
  1. $basedir = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
i dalej wstawiam już zmienną basedir, ale nie wiem jak to działa na localhoscie bo zawsze testuję na normalnym serwerze
czaku
Cytat(tehaha @ 26.04.2010, 12:13:59 ) *
ja do pliku header wstawiam coś takiego :
  1. $basedir = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
i dalej wstawiam już zmienną basedir, ale nie wiem jak to działa na localhoscie bo zawsze testuję na normalnym serwerze


Klapa... po prostu nie idzie się dostać do tego folderu wyżej i wejść tam w folder css :/ skrypt php widzi te pliki, ale do htmla załączyć ich się nie da... :/
tehaha
no ja Ci napisałem że to załączam do pliku header więc to rozwiązanie nie będzie działało w każdym folderze
1. jeżeli layout strony pozostaje nie zmieniony we wszystkich plikach index to może też sobie oddziel górną cześć i zapisz jako header
2. jeżeli chcesz wyjść do katalogu wyżej to robisz /../ , ale pierwsze rozwiązanie byłoby lepsze
krzysztof_kf
Cytat(czaku @ 26.04.2010, 11:36:50 ) *
  1. <link rel="stylesheet" href="../css/glowny.css" type="text/css" />
  2. <link rel="stylesheet" href="../css/gora.css" type="text/css" />
  3. <link rel="stylesheet" href="../css/lewa.css" type="text/css" />
  4. <link rel="stylesheet" href="../css/prawa.css" type="text/css" />
  5. <link rel="stylesheet" href="../css/srodek.css" type="text/css" />


ale owe linki nie działają i css'y się nie załączają... :/

Pomóżcie mi...
Wcześniej w obu wypadkach było _firma1/css i _firma2/css i wtedy załączałem tym samym skryptem php ale oczywiście używając z przodu jednej kropki. Jednak skoro chcę mieć kilka podstron i każda ma mieć te same css'y to chciałbym je mieć zebrane w jednym miejscu a nie za każdym razem je przekopiowywać i przy ich modyfikacji w kilka miejsc kopiować. To samo z plikami js i niemalże identycznej strukturze...


Może zamiast ../css/style.css spróbuj poprostu href="css/style.css"
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.