【发布时间】:2012-05-12 02:54:19
【问题描述】:
我想知道是否有可能获得它所回显的文件的完整路径,然后可能会拆分它
比如: 回声 $currentDir //输出EX:/home/user/public_html/scrips/code/test/ha
然后将其拆分为 3 个目录,因此输出为:/home/user/public_html/scripts
这可能吗?
【问题讨论】:
-
你应该说三个目录up而不是down。
我想知道是否有可能获得它所回显的文件的完整路径,然后可能会拆分它
比如: 回声 $currentDir //输出EX:/home/user/public_html/scrips/code/test/ha
然后将其拆分为 3 个目录,因此输出为:/home/user/public_html/scripts
这可能吗?
【问题讨论】:
您可以在 __DIR__ 或 dirname(__FILE__) 获取文件当前正在执行的目录。
您可以通过字符串操作走一条路径并提升几级。
$path = implode(
DIRECTORY_SEPARATOR,
array_slice(explode(DIRECTORY_SEPARATOR, $path),0,-3)
);
或者,这应该工作......
$path = realpath(
rtrim($path, DIRECTORY_SEPARATOR) . str_repeat('..' . DIRECTORY_SEPARATOR, 3)
);
虽然路径可能会通过realpath() 转换为不同的字符串(尽管它将指向相同的位置)。
【讨论】:
我要做的是:
如:
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 直接在文件上传页面中设置属性以将它们传递给类,因此它甚至可以存储在您的数据库中,以便更好地记录和控制您的文件及其属性。
如果您需要有关整个事情的更多信息,请询问。
祝你好运。
【讨论】: