Корневой каталог то, где все файлы сохранены (непосредственно от доступа от FTP) всегда "www" или "public_html" в зависимости от какой ОС? Или действительно ли возможно переименовать эту папку? И если так, что было бы уникально об этой папке, чтобы смочь определить его? т.е. в настоящее время я просто писал это;
my $root;
my $ftp = Net::FTP->new($DB_ftpserver, Debug => 0)
or die "Cannot connect to some.host.name: $@";
$ftp->login($DB_ftpuser, $DB_ftppass) or die "Cannot login ", $ftp->message;
my @list = $ftp->dir;
if( scalar @list != 0 ) {
foreach( @list ){
if( $_ =~ m/www$/g ){
$root = "www";
last;
}elsif( $_ =~ m/public_html$/g ){
$root = "public_html";
last;
}
}
}
но не работал бы, если это имеет другое имя.
Любая справка очень ценится.
Я буду говорить с точки зрения Apache httpd, так как это - очень популярный веб-сервер.
Корневой каталог, где все файлы сохранены, в общем называют DocumentRoot. Примите во внимание, что файлы сохранены в DocumentRoot для того, чтобы быть поданными веб-сервером, не для того, чтобы быть показанными Вам при входе на пути FTP. FTP является полностью другим протоколом, который не связан с веб-сайтами, и в этом контексте это - просто способ позволить Вам, пользователю, изменить/обновить файлы на удаленном сервере.
www / public_html каталог, что Вы говорите о в Вашем вопросе, является, вероятно, не DocumentRoot. Это - дополнительная функциональность Apache, mod_userdir модуля. Консультируйтесь с его документацией.
Как сказано в документах, существует установка UserDir в конфигурационном файле Apache, который позволяет Вам настроить название этих пользовательских каталогов, от того, где веб-сервер будет служить сайтам, которые принадлежат различным пользователям.
С тех пор нет никакого ограничения на UserDir, у Вас может быть что-либо там, даже foobar. Можно судить содержанием этого каталога (файлы HTML, изображения), что это может быть пользовательским каталогом, который содержит сайт, это выставляется Apache. Но я сказал бы, что, делая это автоматически со сценарием кажется ненадежным мне. Не говоря уже о том, что, например, у Вас может быть public_html каталог, который не является пользовательским каталогом, его имя, соответствующее значению по умолчанию для установки Apache UserDir, являющейся только что простым совпадением. Идеально, для оценки о каталоге, если это будет UserDir, то Вам будет нужен доступ к конфигурационному файлу веб-сервера. И обычно у Вас нет его. Поставщики веб-хостинга могут поместить самое большее определенные для пользователя журналы в Ваш корневой каталог.
Подводить итог: если необходимо выполнить какие-либо действия с пользовательским каталогом, иметь его, приходят к сценарию как входные данные: параметр командной строки, сходя с файла конфигурации и т.д., но не пытается предположить это.
Имя настраивается в Apache (DocumentRoot - значение по умолчанию, согласно 2.2.x документация, является/usr/local/apache/htdocs). Моя машина в офисе не использует ни одну из опций, которые Вы упоминаете (бесцеремонно, я думаю, что это использует htdocs, но это некоторое время, так как я в последний раз играл с ним).
OTOH, так как Вы упоминаете FTP, возможно, Вы думаете о чем-то еще; базовый каталог все еще настраивается, все же.