19. marts 2007 - 17:00Der er
7 kommentarer og 1 løsning
Problem med dir, grafik placering
Hej Eksperter!
Jeg er blevet træt af brugere der benytter url'en i browseren til at skrive /content/$navn.php og så ellers åbner mine undersider manuelt, og derved ungår at hente sitets grafiske del.
Til at forhindre dette formål har jeg lavet en Page.php funktion:
----------Page.php---------------- <?php class Page {
private $pagename;
public function __construct($pagename = null) { $this->setPageName($pagename); }
public function setPageName($pagename) { if(is_string($pagename)) { $this->pagename = $pagename; return true;
} else {
$this->pagename = 'MySite'; return true;
} }
public function getPageName() { print $this->pagename; }
public function header() {
//print html in header }
public function footer() {
//print html in footer } } ?> ---------------------------------- På hver af mine undersider (/content/side.php/) har jeg så lavet en include til min Page funktion: ("../Page.php") ----------Side.php---------------- <?php include("Page.php"); $page = new Page("Titel"); $page->header(); ?> indhold <?php $page->footer(); ?> ---------------------------------- Problemet er så bare at min Page funktion kun har en effekt hvis mine undersidder ligger i selve /dir, altså hovedmappen hvor Page.php selv er placeret. Ellers er dir til mit grafik ikke angivet korrekt. (Dette er angivet i $page->header();, og footer();
Forslag søges til hvordan jeg kan lave dette optimalt. Jeg vil gerne holde mine undersider inde i /content/ mappen for at holde styr på placeringerne, måske hvis muligt, i endnu flere undermapper end dette.
du kan evt bruge $_SERVER['DOCUMENT_ROOT'], som altid vil give roden på din webside. Så kan du arbejde dig ud fra roden. Foreksempel: include($_SERVER['DOCUMENT_ROOT'].'page.php'); som søger for at ligemeget hvor din fil som har denne kode ligger, vil den altid includere page.php som ligger i roden. håber det var forståligt :-)
Funktionen kan helt klart bruges, mit problem nu er så bare at min funktion footer(), indeholder html hvor alle src til mine forskellige billeder er angivet i min CSS fil. Jeg formoder hvis dette skulle virke så skulle det være $_SERVER['DOCUMENT_ROOT']/gfx/mitbillede.png - på denne måde?
Altså med andre ord, det er jo ikke noget problem at gå en ../dir tilbage og require min Page.php- men problemet ligger i at få denne til at page den rigtige dictory til grafikken, uanset hvor den er includet fra.
Jeg har baggrundsbilleder i mine tabeller, og alle andre billeder er lagt ind i en DIV og sat i min CSS fil. De genkender hinanden via CLASS commandoen.
Jeg vælger at lukke, fandt en smart måde at lave det på i min apache konfiguration
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.