предложения по поиску пути к папке?PHP - PullRequest
1 голос
/ 15 марта 2012

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

Теперь не все пользователи имеют установленный WordPress вroot, но в папке (как, например, для субдомена).

Так что я могу просто проверить (во время установки), находится ли папка 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'];

}

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

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

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

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

 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;

}

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

Есть предложения?Спасибо

1 Ответ

0 голосов
/ 15 марта 2012

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

...