Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak zbudować strone na php z folderami w folderach?
Forum PHP.pl > Forum > PHP
pawel_wolomin
Witam mam problem ze stworzeniem strony od podstaw.

w głownym indexie strony includuje menu, stopkę, a w dalsze podstrony znajdują się w folderach te w pierwszym folderze działają jak użyje ../ ale juz foldery w nich nie:(
bełdzio
napisz jeszcze raz, ale tym raziem lepiej opisz problem, a najlepiej rzuc kawalkiem kodu, ktory odpowiada za inkludowanie podstron
pawel_wolomin
index.php w głownym folderze
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2.  
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  5. <meta http-equiv="Content-Language" content="pl" />
  6. <meta name="Keywords" content="..." />
  7. <meta name="Description" content="..." />
  8. <meta name="Robots" content="ALL" />
  9. <meta name="Author" content="..." />
  10. <link rel="stylesheet" href="style.css" type="text/css" />
  11. <title>...</title>
  12. </head>
  13.  
  14. <html>
  15.  
  16.  
  17.  
  18.  
  19.  
  20. <body>
  21. <div id="container">
  22.  
  23. <div id="naglowek"></div>
  24.  
  25. <?php
  26. require_once("menu.php");
  27. ?>
  28.  
  29.  
  30.  
  31. <div id="srodek">
  32. <h2>WITAMY </h2>
  33. <p>...</p>
  34.  </div>
  35.  
  36. <?php
  37. require_once("analytics.php");
  38. ?>
  39.  
  40. <?php
  41. require_once("stopka.php");
  42. ?>
  43.  
  44.  
  45.  
  46.  cos/index.php w podfolderze
  47. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  48.  
  49. <head>
  50. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  51. <meta http-equiv="Content-Language" content="pl" />
  52. <meta name="Keywords" content="..." />
  53. <meta name="Description" content="..." />
  54. <meta name="Robots" content="ALL" />
  55. <meta name="Author" content="..." />
  56. <link rel="stylesheet" href="../style.css" type="text/css" />
  57. <title>...</title>
  58. </head>
  59.  
  60. <html>
  61.  
  62.  
  63.  
  64.  
  65.  
  66. <body>
  67. <div id="container">
  68.  
  69. <div id="naglowek"></div>
  70.  
  71. <?php
  72. require_once("../menu.php");
  73. ?>
  74.  
  75.  
  76.  
  77. <div id="srodek">
  78. <h2>WITAMY </h2>
  79. <p>...</p>
  80.  </div>
  81.  
  82. <?php
  83. require_once("../analytics.php");
  84. ?>
  85.  
  86. <?php
  87. require_once("../stopka.php");
  88. ?>

problem zaczyna sie w cos/cos2/index.php

folderów uzywam by tryzmac pożadek na ftp
Moli
Aby wycofać się do folderu niżej, dajesz "../", więc analogicznie aby cofnąć się dwa folder dajemy "../../".

ps. Może lepiej zainteresuj się przyjaznymi urlami ?
SirZooro
Ja zanim przeszedłem na PRADO miałem coś takiego na stronce:

W katalogu głównym był plik includeall.php z następującą zawartością:

  1. <?php
  2. if (!isset($base_path))
  3. $base_path = '.';
  4.  
  5. include $base_path.'/funkcje.php';
  6. // reszta includow i inne rzeczy
  7. ?>

W podkatalogach miałem też pliki includeall.php, gdzie ustawiałem odpowiednio $base_path. Np. w podkatalogu drugiego poziomu (/a/b/) miałem coś takiego:

  1. <?php
  2. $base_path = '../..';
  3. include $base_path.'/includeall.php';
  4. ?>

Same stronki natomiast były już proste - do zaincludowania wszystkiego wystarczała już jedna instrukcja:

  1. <?php
  2. include 'includeall.php';
  3. ?>
pawel_wolomin
Dość ciekawe kolego SirZooro, a może jest sposób by zrobićto uniwersalnie i niezaleznie gdzie był by plik to będzie z głownego folderu?
Testowałem ../../ ale coś się gryzło i nie chodziło jak powinno, storne mam na nazwa.pl jak by to coś znaczyło.
wrzasq
za kazdym razem wstawiasz takie same sciezki, katalog obecny jest liczony od miejsca wywolania skryptu, a nie pliku, w ktorym znajduje sie kod. w includowanym pliku i tak katalogiem roboczym bedzie katalog, w ktorym zaczynalismy prace. i nigdy nie trzymaj plikow do wywolywania bezposredniego w podkatalogach, wszystko do czego sie odwoluja linki powinno byc w katalogu glownym strony (albo innym, ale tym samym katalogu), zeby wlasnie takich sytuacji uniknac. a jesli juz i tak musisz to podzielic, to po prostu ustaw sobie zawsze ten sam katalog roboczy (albo przez chdir(), albo przez definiowanie zmiennej ze sciezka).
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.