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!