Разрешение символических ссылок и относительных URL

У меня есть символическая ссылка /var/www/html/lib/ что указывает на /var/www/application/lib/,

В файле /var/www/application/lib/testing/imageMaker2/otherFile.phpЯ создал новый файл /var/www/application/lib/testing/imageMaker2/images/test.png,

Далее я желаю otherFile.php отправлять URL-адрес относительно корня документа веб-сервера клиенту (т.е. /lib/testing/imageMaker2/images/test.png).

Без предварительного знания символической ссылки, как это возможно?

test.php

<?php
require_once('otherFile.php');
otherFile(__DIR__.'/images/'); //Or what ever upload directory is desired.
?

otherFile.php

<?php
function otherFile($path) {
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$image='test.png';
echo('$path                               => '.$path."\n");
echo('$image                              => '.$image."\n");
echo('$path/$image                        => '.$path.'/'.$image."\n");
echo('__DIR__                             => '.__DIR__."\n");
echo('__FILE__                            => '.__FILE__."\n");
echo('$_SERVER[SCRIPT_FILENAME]           => '.$_SERVER['SCRIPT_FILENAME']."\n");
echo('realpath($_SERVER[SCRIPT_FILENAME]) => '.realpath($_SERVER['SCRIPT_FILENAME'])."\n");
echo('$_SERVER[PHP_SELF]                  => '.$_SERVER['PHP_SELF']."\n");
echo('$_SERVER[DOCUMENT_ROOT]             => '.$_SERVER['DOCUMENT_ROOT']."\n");
echo('$path_parts[dirname]                => '.$path_parts['dirname']."\n");
echo('dirname($_SERVER[PHP_SELF])         => '.dirname($_SERVER['PHP_SELF'])."\n");
}
?>

ВЫХОД

$path                               => /var/www/application/lib/testing/imageMaker2/images/
$image                              => test.png
$path/$image                        => /var/www/application/lib/testing/imageMaker2/images//test.png
__DIR__                             => /var/www/application/lib/testing/imageMaker2
__FILE__                            => /var/www/application/lib/testing/imageMaker2/otherFile.php
$_SERVER[SCRIPT_FILENAME]           => /var/www/html/lib/testing/imageMaker2/test.php
realpath($_SERVER[SCRIPT_FILENAME]) => /var/www/application/lib/testing/imageMaker2/test.php
$_SERVER[PHP_SELF]                  => /lib/testing/imageMaker2/test.php
$_SERVER[DOCUMENT_ROOT]             => /var/www/html
$path_parts[dirname]                => /lib/testing/imageMaker2
dirname($_SERVER[PHP_SELF])         => /lib/testing/imageMaker2

2

Решение

Согласно вашим комментариям …

$path_parts = pathinfo($_SERVER['PHP_SELF']);

echo $path_parts['dirname'];

Тогда вы просто извлекаете то, что хотите.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]