Visa ett inlägg
Oläst 2006-05-06, 13:17 #7
Bamse Bamse är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2003
Inlägg: 7
Bamse Bamse är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2003
Inlägg: 7
Det här med sökvägar i PHP är en konst i sig att lära sig bemästra

Det hela utgår ifrån din cwd (current working directory). Kör du t.ex. index.php och sedan includear som du säger <?php require("./LinkPageAuto/list.php"); ?> så är din cwd /

När det gäller include() och require() söker de först efter filer i din include_path relativt din cwd (kolla vilken din include_path är med ini_get('include_path')). Sedan söker de efter filer i include_path relativt det script som körs (list.php i ditt fall).

Om du kör med ./ eller ../ för den delen kollar den bara relativt efter cwd.

resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )

fopen() är dock en annan historia. Den kör inte som standard efter include_path alls (letar endast i cwd). Man kan specifiera parametern use_include_path till true så kör den efter include_path också, då kan du lägga till din katalog i include_path så har du löst problemet, det gör du med:

Kod:
$path = '/LinkPageAuto/';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
En annan lösning är att ge en absolut sökväg till filen i din fopen(). __FILE__ är en konstant som anger filnamnet för scriptet som körs, dirname() kan användas för att plocka ut katalogdelen för det. Då blir det:

Kod:
$fd = fopen (dirname(__FILE__) . "/list.txt", "r");
Hoppas detta rätar ut en del frågetecken!
Bamse är inte uppkopplad   Svara med citatSvara med citat