[PHP] Problemen met includen vanuit subdirectory

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Captain Pervert
  • Registratie: Mei 2000
  • Laatst online: 05-03 12:19
Ik heb het volgende probleem: ik gebruik al een tijd een nieuwsscript op mijn index.php. Deze haalt het nieuwsscript op van "news/news.php" en plaatjes van "images/" etcetera.

Nu wil ik - om een lang verhaal kort te maken - de index.php (in root) includen vanuit een subdirectory. Uiteraard werken dan alle paden niet meer. (die gaan er vanuit dat dingen ineens uit subdir/news enzo moet worden gehaald.

Ik heb met de search al wat dingen gevonden, zoals basedir in php en href base in html, maar ik kom er niet echt uit. Kan iemand me hiermee op weg helpen zodat de pagina die in de subdir staat zeg maar denkt dat hij in de root staat?

Porsche 928 - It's about as fast as you can go without having to eat airline food.


Acties:
  • 0 Henk 'm!

  • JayVee
  • Registratie: Mei 2002
  • Laatst online: 31-08 10:22

JayVee

shibby++!

Ik zou een variabele (of constante, zie voorbeeld) defineren met daarin het pad naar de "root" van je applicatie. Bijvoorbeeld:
PHP:
1
2
3
4
$basedir = getcwd();
include( $basedir . '/pad/naar/bestand.inc.php' );
// of met 
define( 'BASEDIR', getcwd() );

ASCII stupid question, get a stupid ANSI!


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:44

crisp

Devver

Pixelated

PHP over de schutting 3 -> Programming

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 22:34
JayVee schreef op donderdag 28 juni 2007 @ 17:10:
Ik zou een variabele (of constante, zie voorbeeld) defineren met daarin het pad naar de "root" van je applicatie. Bijvoorbeeld:
PHP:
1
2
3
4
$basedir = getcwd();
include( $basedir . '/pad/naar/bestand.inc.php' );
// of met 
define( 'BASEDIR', getcwd() );
GetCwd() zou ik daar persoonlijk dan juist weer niet voor gebruiken omdat die afhankelijk is (kan zijn) van de plek waarvan je script wordt aangeroepen. Meest fail-safe is in imho
PHP:
1
dirname(__FILE__)
in een init bestandje dat een vast locatie heeft tenopzichte van de rest van je code.

Regeren is vooruitschuiven


Acties:
  • 0 Henk 'm!

  • satyriasis
  • Registratie: Januari 2000
  • Laatst online: 19-09 14:37
Misschien dat de topicstarter gewoon bedoeld dat hij een directorie hoger wilt? Dit kun je bereiken door .. voor de directorie te zetten, bijvoorbeeld
PHP:
1
2
3
<?php
include('../images/blaat.php');
?>


dit betekent dat je eerst 1 directorie hoger gaat en dan weer 1 dieper ;)

Acties:
  • 0 Henk 'm!

  • Captain Pervert
  • Registratie: Mei 2000
  • Laatst online: 05-03 12:19
Ik heb het opgelost met base href, werkte eerst niet, maar staat nu op de juiste plaats en nu werkt het wel

Porsche 928 - It's about as fast as you can go without having to eat airline food.


Acties:
  • 0 Henk 'm!

  • Pete
  • Registratie: November 2005
  • Laatst online: 07-09 17:51
Je bedoelde dus gewoon dat je HTML-document de plaatjes niet meer kon vinden? Ik vond het al redelijk vreemd aangezien include() normaal ook al werkt relatief vanaf de plek waar het wordt aangeroepen.

petersmit.eu

Pagina: 1