2014-08-03 6 views
1

Моя папка файлменеджер находится здесь:Получение относительный путь от папки

localhost/cakeapp/app/webroot/js/tinymce/js/tinymce/plugins/filemanager/ 

В cakeapp корневой каталог, у меня есть две папки:

uploadedImages (cakeapp/uploadedImages) 
UploadedImagesThumbs (cakeapp/uploadedImagesThumbs). 

У меня такая ситуация в config.php Файл:

$base_url ="http://localhost"; 

// path from base_url to base of upload folder (with start and final /) 
$upload_dir = '/cakeapp/uploadedImages/'; 

// relative path from filemanager folder to thumbs folder (with final /) 
$thumbs_base_path = '???????/uploadedImagesThumbs'; 

// relative path from filemanager folder to upload folder (with final /) 
$current_path = '???????/uploadedImages/'; 

Как получить правильный относительный путь для $thumbs_base_path и $current_path от fi папка lemanager?

+1

'$ thumbs_base_path =» ../../../../../ .. /../../ uploadedImagesThumbs/'; '? – rlatief

+0

Спасибо, это работает! Я делал семь раз «../», а не восемь, когда пытался решить эту проблему. – michael24B

+0

Это вряд ли похоже на хорошее кодирование ... – paullb

ответ

0

Вы могли бы попробовать что-то вроде

function getRelativePath($from, $to) { 
$patha = explode('/', $from); 
$pathb = explode('/', $to); 
$start_point = count(array_intersect($patha,$pathb)); 
while($start_point--) { 
    array_shift($patha); 
    array_shift($pathb); 
} 
$output = ""; 
if(($back_count = count($patha))) { 
    while($back_count--) { 
     $output .= "../"; 
    } 
} else { 
    $output .= './'; 
} 
return $output . implode('/', $pathb); 
} 

source Проверьте .Это имеет много примеров

Смежные вопросы