2012-03-15 3 views
1

Я работаю над проектом, который работает с WordPress. Итак, все файлы проекта находятся в папке с именем WP_project в папке wordpress.предложения по поиску пути к папке? PHP

Теперь не у всех пользователей Wordpress установлен в корне, а в папке (например, для поддомена, например).

Поэтому я могу просто проверить (во время установки), если папка wordpress находится в корне, и если это так, здорово, если нет, мне придется приостановить установку и попросить пользователя указать правильный путь это, и это проблема.

- Не все пользователи находятся на компьютере с уверенностью, и их хосты, возможно, поставили папку WP в другое место, не сообщив пользователю, чтобы они могли не знать, где она находится, или что еще хуже - они могут не знать, даже если вас попросят сделать ...

Два - Даже если я сделаю некоторые, как найти папку WP, как бы реализовать ее в каждом отдельном скрипте, который должен знать? Например, это то, что у меня есть на каждом скрипте (в проекте):

if(file_exists($_SERVER['DOCUMENT_ROOT'].'/wordpress')){ 

$folder_rt=$_SERVER['DOCUMENT_ROOT'].'/wordpress'; 

}elseif(!file_exists($_SERVER['DOCUMENT_ROOT'].'/wordpress')){ 

$folder_rt=$_SERVER['DOCUMENT_ROOT']; 

} 

И что это такое; Проверьте, существует ли папка wordpress в корне. Если это так, назначьте $folder_rt на свой путь, но если это не так; просто назначьте $folder_rt корневому пути (при условии, что WordPress установлен в корневой каталог).

Итак, если я найду путь к папке (в конце концов), как бы присвоить ей $folder_rt в каждый скрипт. Я не могу сохранить путь в отдельном файле, потому что тогда мне пришлось бы включать/требовать отдельный файл в каждом скрипте, который не может быть выполнен, без пути к папке (с использованием абсолютных путей). То же самое с сохранением пути в БД, я должен был бы сделать отдельный файл для функции, чтобы проверить БД (потому что я не думаю, что его безопасное хранение конфиденциальной информации БД в каждом скрипте ...).

Я как бы придумал решение, но я считаю, что должен быть лучший способ, и его на самом деле не продумали;

При установке, если папка WP не найдена, попросите пользователя указать путь, затем сохраните этот путь в отдельном файле в корне . Тогда, я могу просто проверить, что файл на любом сценарии ... так что вместо примера кода выше, я мог бы что-то подобное в каждом сценарии:

if(file_exists($_SERVER['DOCUMENT_ROOT'].'/wordpress')){ 

    $folder_rt=$_SERVER['DOCUMENT_ROOT'].'/wordpress'; 

    }elseif(file_exists($_SERVER['DOCUMENT_ROOT'].'/wp-config')){ 

    $folder_rt=$_SERVER['DOCUMENT_ROOT']; 

    } 
elseif(file_exists($_SERVER['DOCUMENT_ROOT'].'/project_pathfile.php')){ 

require_once($_SERVER['DOCUMENT_ROOT'].'/project_pathfile.php'); 

$folder_rt=$path_from_sep_file; 

} 

Там должно быть лучше, более профессиональный путь делаете это правильно?

Предложения Anny? Спасибо

+0

измените ваш 'elseif' на' else', потому что файл может существовать, существовать или не существовать. Там нет никакого среднего. И поставьте else в конце всех 'elseifs' –

ответ

0

dirname(__FILE__) (или просто __DIR__ в 5.3+, IIRC) даст вам имя каталога текущего скрипта находится. Если файлы всегда будут находиться в непосредственном подкаталоге Wordpress папки, а затем dirname(dirname(__FILE__)) (или dirname(__DIR__)) должно указывать местоположение каталога wordpress. Конфигурация не требуется.

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