[PHP] Bestand verwijzing

Pagina: 1
Acties:
  • 117 views sinds 30-01-2008
  • Reageer

  • Silent891
  • Registratie: Januari 2001
  • Laatst online: 20-04 17:12
Ik zit met het volgende probleem:

Ik heb in een PHP bestand de volgende verwijzing staan:
code:
1
2
3
4
  /* bestand locatie: http://intranet/index.php */

  chdir("afdelingen/$afdeling/");
  include("index.htm");

Nu verwijst hij naar het correcte bestand, maar die index.htm MOET in frontepage gemaakt worden. En als ik in die index.htm een link maak, dan verwijst hij naar http://intranet/mijnlink.htm Maar dat moet worden htp://intranet/afdelingen/ict/mijnlink.htm

Hoe pak ik dit aan?

Dingen moet je regelen


Verwijderd

Zijn een paar oplossingen mogelijk, afhankelijk van het feit of dit de enige file is die vanuit /index.php gaat worden geinclude.

Makkelijkste is de file niet includen maar inlezen en dan

<a href="/ vervangen door a href="/correct/path/

  • Silent891
  • Registratie: Januari 2001
  • Laatst online: 20-04 17:12
Op donderdag 10 januari 2002 13:05 schreef fladder het volgende:
Zijn een paar oplossingen mogelijk, afhankelijk van het feit of dit de enige file is die vanuit /index.php gaat worden geinclude.

Makkelijkste is de file niet includen maar inlezen en dan

<a href="/ vervangen door a href="/correct/path/
Wat jij nu zeg is geen optie. Omdat het bestand wat geinclude moet worden in index.php variabel is. Want iedere afdeling krijgt zijn eigen pagina afdeling te zien.

En die index.htm wordt met frontpage gemaakt, daarom wil ik ook graag met relatieve paden werken.

Dus op een één of andere manier moet de 'root' directory tijdelijk http://intranet/afdeling/ict worden, ipv http:/intranet/ .

Dingen moet je regelen


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

kan je niet zo doen
PHP:
1
2
3
<?
header("location: http://intranet/afdelingen/$afdeling/")
?>

tis maar een id :)

Doet iets met Cloud (MS/IBM)


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

das een ranzige dubbelpost dit :(

Doet iets met Cloud (MS/IBM)


  • Silent891
  • Registratie: Januari 2001
  • Laatst online: 20-04 17:12
Op donderdag 10 januari 2002 13:20 schreef D2k het volgende:
kan je niet zo doen
PHP:
1
2
3
<?
header("location: http://intranet/afdelingen/$afdeling/")
?>

tis maar een id :)
Dit kan helaas niet, omdat de in index.php gegevens op het scherm getoond worden. En die gegevens moeten ook op scherm blijven staan. Want als ik doe wat jij zeg, dan laad ie een complete nieuwe pagina in.

Dingen moet je regelen


  • Silent891
  • Registratie: Januari 2001
  • Laatst online: 20-04 17:12
Heeft iemand nog andere ideeen?

Dingen moet je regelen


Verwijderd

Op donderdag 10 januari 2002 13:16 schreef Silent het volgende:

Wat jij nu zeg is geen optie. Omdat het bestand wat geinclude moet worden in index.php variabel is.
Nou en, weet blijkbaar in welke dir de file staat die je wilt includen, dan weet je ook waarmmee je het path moet replacen in een <a href=""> en in een [img]""[/img] ?
Want iedere afdeling krijgt zijn eigen pagina afdeling te zien.

En die index.htm wordt met frontpage gemaakt, daarom wil ik ook graag met relatieve paden werken.
Da werkt dan nog steeds, door te replacen zet je er gewoon automatisch iets voor.. het relatieve deel blijft gewoon staan...
Dus op een één of andere manier moet de 'root' directory tijdelijk http://intranet/afdeling/ict worden, ipv http:/intranet/ .

Verwijderd

<?php
// mischien moet je hier het complete pad naartoe zetten :/
$filename = "index.htm";
$file = fopen("index.htm", "r");
$lines = fread($file, filesize ($filename);
echo str_replace("<head>", "<head>\n<base href='http:/intranet/afdelingen/".$afdeling."/'>", $lines);

fclose($file);
?>

dat MOET werken. werkt het niet, dan heb ik het niet gemaakt :p

Grtz, Lyon, wiens nick al taken was :/

Verwijderd

uitleg ::
ik voeg de tag <base href=blub enzo> toe aan head.
deze geeft de baseurl aan.
Pagina: 1