Я работаю над проектом, который работает с WordPress. Итак, все файлы проекта находятся в папке с именем WP_project
в папке WordPress.
Теперь не у всех пользователей 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'];
}
Итак, что это делает; 1 Проверьте, существует ли папка WordPress в корне. 2 Если это так, отлично, назначьте $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;
}
Должен быть лучший, более профессиональный способ сделать это правильно?
Любые предложения? Спасибо
elseif
наelse
, потому что файл может только существовать или не существовать. Там нет никакого среднего. И поместите else в конце всехelseifs
- person Gabriel Santos   schedule 15.03.2012