猿问

php 中文件的相对路径

我想包含一个位于相对于我的调用脚本执行位置的 GeoDB 目录的类。


所以我这样做


include('GeoDB/geodb.php');

当我启动时:


$geodb = new GeoDB();

构造函数加载一个名为 geodb.json 的文件,如下所示


   function __construct(){

      $json = file_get_contents("geodb.json");

      // .... do stuff.

   }

该文件位于 GeoDB 目录中 geodb.php 旁边。


但是,当我运行脚本时,找不到该文件,因为该文件是在执行目录中搜索的,而不是在相对于所包含文件的位置的目录中搜索的。


由于需要从多个位置调用此函数,因此我不想指定构造函数参数只是为了告诉它文件“geodb.json”在哪里。


无论如何,有没有告诉 php,当包含时,在与包含路径相同的目录中搜索文件?


白板的微信
浏览 95回答 1
1回答

qq_笑_17

使用魔法常数__DIR__ $json = file_get_contents(__DIR__."/geodb.json");
随时随地看视频慕课网APP
我要回答