3

我想知道是否有可能获得回显的文件的完整路径,然后可能会拆分它

就像: echo $currentDir //输出 EX:/home/user/public_html/scrips/code/test/ha

然后将其拆分为 3 个目录,因此输出为:/home/user/public_html/scripts

这可能吗?

4

2 回答 2

5

__DIR__您可以使用 PHP 5.3或dirname(__FILE__)< PHP 5.3获取文件当前正在执行的目录。

您可以选择一条路径并通过字符串操作提升几个级别。

$path = implode(
    DIRECTORY_SEPARATOR, 
    array_slice(explode(DIRECTORY_SEPARATOR, $path),0,-3)
);

或者,这应该工作......

$path = realpath(
    rtrim($path, DIRECTORY_SEPARATOR) . str_repeat('..' . DIRECTORY_SEPARATOR, 3)
); 

尽管路径可能会通过转换为不同的字符串realpath()(尽管它将指向相同的位置)。

于 2012-05-12T02:58:08.537 回答
0

我要做的是:

  1. 为文件类型创建一个类;
  2. 为我的项目定义一些主文件夹的常量,这样我的生活就更轻松了;
  3. 在该类中创建一个方法来检索路径;
  4. 将函数的结果分配给属性,也让我的生活更轻松;

如:

class Image {
   private $temp_path;
   protected $upload_dir = 'imagens';

   public function directory() {
       return $this->upload_dir . DIRECTORY_SEPARATOR . $this->filename;
   }
}

// If you want only the extension:

private function _ext() {
    return strrchr($this->filename, ".");
}

当然,这门课还有更多内容,更多,但这就是您检索上传文件的路径所需要的。您所要做的就是使用面向对象的 PhP 直接在文件上传页面中设置属性以将它们传递给类,因此它甚至可以存储在您的数据库中,以便更好地记录和控制您的文件及其属性。

如果您需要有关整个事情的更多信息,请询问。

祝你好运。

于 2012-05-12T03:20:59.727 回答