php如何在dirname上升级一级(__ FILE__)

aVC*_*aVC 66 php dirname

我有一个文件夹结构如下:

mydomain.com
  ->Folder-A
  ->Folder-B
Run Code Online (Sandbox Code Playgroud)

我有一个来自Database的字符串'../Folder-B/image1.jpg',它指向Folder-B中的图像.

在Folder-A的脚本里面,我使用dirname(FILE)来获取文件名,我得到了 mydomain.com/Folder-A.在这个脚本里面,我需要得到一个字符串'mydomain.com/Folder-B/image1.jpg.我试过了

$path=dirname(__FILE__).'/'.'../Folder-B/image1.jpg';
Run Code Online (Sandbox Code Playgroud)

这显示为 mydomain.com%2FFolder-A%2F..%2FFolder-B%2Fimage1.jpg

这是一个Facebook分享按钮,这无法获取正确的图像.任何人都知道如何正确地获得路径?

编辑:我希望得到一个网址>>> mydomain.com%2FFolder-B%2Fimage1.jpg

Pet*_*tah 168

对于PHP <5.3使用:

$upOne = realpath(dirname(__FILE__) . '/..');
Run Code Online (Sandbox Code Playgroud)

在PHP 5.3到5.6中使用:

$upOne = realpath(__DIR__ . '/..');
Run Code Online (Sandbox Code Playgroud)

在PHP> = 7.0中使用:

$upOne = dirname(__DIR__, 1);
Run Code Online (Sandbox Code Playgroud)


Bas*_*ijk 16

如果您碰巧拥有PHP 7.0+,您可以使用级别.

dirname( __FILE__, 2 ) 使用第二个参数,您可以定义要返回的级别数.

http://php.net/manual/en/function.dirname.php


小智 15

试试这个

dirname(dirname( __ FILE__))
Run Code Online (Sandbox Code Playgroud)

编辑:删除"./",因为它的语法不正确.没有它,它完美地运作.


Sha*_*ane 6

您可以使用PHP的dirname函数. <?php echo dirname(__DIR__); ?>.这将为您提供__DIR__存储当前目录的父目录的名称.


dıl*_*ücü 5

dirname(__DIR__,level);
dirname(__DIR__,1);
Run Code Online (Sandbox Code Playgroud)

level 是您将返回该文件夹的次数