12. august 2005 - 12:29Der er
5 kommentarer og 1 løsning
Rod i niveauer
Hejsa Eksperter,
Jeg har et website med en mappe der hedder "inc", hvor i der ligger en fil der hedder "init.php" og en der hedder "sql.class.php". I "init.php" includes "sql.class.php" ved include("inc/sql.class.php");
Når jeg includer init.php fra "/" via include("inc/init.php"); Virker det fint!
Men hvis jeg inkluderer "init.php" fra et andet niveau, så går der kage i det. Den skriver den ikke kan finde sql.class.php. Fx hvis jeg gør sådan fra "pages/testfil.php": include("../inc/init.php");
Jeg forstår godt hvorfor den brokker sig - den kan jo ikke finde mappen og filen "/pages/inc/sql.class.php".
Det jeg spørger om er: hvordan kan man løse dette problem? Altså skal init.php kunne finde sql.class.php ligegyldigt hvor init.php bliver kaldt fra! Jeg efterlyser flere løsningsmodeller! Helst uden brug af direkte stier i koden (fx include("D:\blah\blah\www\testside\inc\sql.class.php"))
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Som ksoren skriver, ./inc/init.php . refere til det aktuelle dir, så det tror jeg ikke løser dit problem. Prøv evt: include("/inc/init.php"); / = dit rod i dit webhotel/dir.
jakobdo-> Ja det ved jeg egentlig godt, men problemet er, at det script, der skal kalde init.php kører i mappe udenfor domænets "root". Init.php ligger på d:\data\sidenavn\inc\init.php, men filen der skal include init.php ligger på d:\data\hidden\fil.php
Meningen med dette er at filen ikke skal kunne kalde fra browseren, men kun via shell-kommando på serveren (c:\php.exe d:\data\fil.php).
Men jeg prøver lige at se om jeg kan få det til at du med "/". Jeg vender tilbage...
Kan man ikke sætte scriptet "aktuelle" dir via php på en måde? Fordi når jeg kører scriptet via php.exe (i konsollen) er mit aktuelle dir "C:\php", og det er jo ikke meningen.
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.