Als ik een pagina "include" of "require" in mijn pagina, past hij de locatie van de bestanden niet aan naar de nieuwe locatie.

Voorbeeld:

Ik heb 1 pagina genaamd open.php en die zegt:

<?php
$bestand = file("blabla.txt");
echo $blabla;
?>

en dan in de map admin bijvoorbeeld heb ik:

<?php
include("../open.php");
?>

Dan krijg ik de error dat blabla.txt niet bestaat. Deze error dus:

Warning: file(blabla.txt): failed to open stream: No such file or directory in /home/www/admin/index.php on line 2

En als ik blabla.txt in de admin map zet krijg ik die error niet meer. Maar dat is echt onmogelijk voor mijn website omdat ik vele pagina's heb en ik niet in elke map dit bestand wil zetten.

Weten jullie misschien hoe ik dit oplos?
absolute paden gebruiken! maak een constante aan die een absoluut pad bevat naar jouw werk bestanden... en vanuit daar ga je het pad naar dat betsand beschrijven, dan kan het nooit mis gaan:)
Je kan ook altijd de locatie van het huidige bestand bepalen met:

$Dir = dirname( __FILE__ );
@michel: Absolute paden zijn niet erg handig, want het is de bedoeling dat dit script op vele server geinstaleerd word.

@Peter: Hmm ik snap niet helemaal wat je bedoeld.
Nou stel jij upload je script naar de server. Dan weet het script zelf nog niet waar deze staat. Zoals je zelf zegt is het niet handig een constante locatie op te geven, omdat je deze dan telkens moet wijzigen per server.

Stel je bestand staat hier:
/home/users/t/tom/httpdocs/file.php

en in file.php staat:

echo dirname( __FILE__ );

dan is het resultaat:

/home/users/t/tom/httpdocs/
Oh ja, ok bedankt :)
Dat heeft niets meer met include of require te maken natuurlijk :p

Mijn websites staan altijd in de root, en dan kan je dus /banned.php gebruiken.

Voorbeeld 1:

Website: http://www.mijnsite.nl
Code: header( 'Location: /blaat.php' );
Doel: http://www.mijnsite.nl/blaat.php


Voorbeeld 2:

Website: http://www.mijnsite.nl/subdomein/
Code: header( 'Location: /blaat.php' );
Doel: http://www.mijnsite.nl/blaat.php

Om voorbeeld 2 dynamisch te maken, is de snelste klap denk ik in een SESSION de basis URL wegschrijving op de hoofdpagina.

Reageren