Вернуться   SEO форум - оптимизация и продвижение сайтов > Web разработки > Разработка сайтов

Важная информация
Разработка сайтов - Создание сайта, сателлитов, настройка CMS, установка движков, скрипты...

Ответ
 
Опции темы Оценить тему Опции просмотра
Старый 29.10.2011, 16:23   #1
 
Аватар для bazan
 
Сообщений: 150
FR (активность): 3,879

Доп. информация
Сообщение Автор темы Поиск корневой папки сайта на PHP после соединения по FTP

Для тех , кто создает скрипты на php и пускает их в массы, для размещения на чужих хостингах...
Когда пользователю, использующему Ваш скрипт, нужно вводить реквизиты FTP соединения, нередко нужно указать корневую папку сайта. И многие пользователи ошибаются при вводе корневой папки в соответствующее поле при установке скрипта. Ниже скрипт, который поможет автоматически вывести найти корневую папку сайта на php для добавления в value:
В заглавную папку скрипта добавляем пустой файлик poiskkorendir.txt который будет размещен на хостинге пользователя в итоге.
Цитата:
<?php
$ftp_server="АДРЕС ХОСТИНГА";
$ftp_name="ИМЯ ПОЛЬЗОВАТЕЛЯ";
$ftp_pass="ПАРОЛЬ ПОЛЬЗОВАТЕЛЯ";
$connect = @ftp_connect($ftp_server);
$soedine = @ftp_login($connect, $ftp_name, $ftp_pass);

$dir = "/";
// Запускаем сканер
scan_ftp($connect, $dir);
// Закрываем соединение с FTP-сервером
ftp_close($connect);
// Результат находится в глобальном массиве $filename
echo "<pre>";
$foul=$filename['poiskkorendir.txt'];
echo "Корневая папка сайта: ".str_replace('/poiskkorendir.txt', '', $foul);
echo "</pre>";
////////////////////////////////////////////////////////
// Рекурсивная функция спуска по дереву
// директорий
////////////////////////////////////////////////////////
function scan_ftp($connect, $dir)
{
GLOBAL $filename;
// Получаем все файлы корневого каталога
// Дескриптор соединения $link получен в config.php
$file_list = ftp_rawlist($connect, $dir);
// Выводим содержимое каталога
foreach($file_list as $file)
{
// Разбиваем строку по пробельным символам
list($acc,
$bloks,
$group,
$user,
$size,
$month,
$day,
$year,
$file) = preg_split("/[\s]+/", $file);
// Если файл начинается с точки - игнорируем его
if(substr($file, 0, 1) == '.') continue;
// Определяем является ли объект директорией
if(substr($acc, 0, 1) == 'd')
{
// Директория
scan_ftp($connect, $dir.$file."/");
}
// Определяем является ли объект файлом
if(substr($acc, 0, 1) == '-')
{
// Файл
$filename[$file] = $dir.$file;
}
}
}
?>
Прошу Вашего мнения о вышеизложеном и предложений для облегчения поиска корневой директории сайта после подключения по ftp.
bazan вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 29.10.2011, 23:17   #2
 
Аватар для komyak
 
Сообщений: 1,178
FR (активность): 31,654

Доп. информация
По умолчанию

Это что? И зачем для этого ФТП?
Запустите print_r($_SERVER)


Сео
komyak вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 30.10.2011, 07:02   #3
 
Аватар для pepeto
 
Сообщений: 380
FR (активность): 10,048

Доп. информация
По умолчанию

Зачем так, если можно брутом все поломать)) а еще козырней будет в почте от имени его хостера написать типа "для продолжения работы введите свой логин пароль уз, логин и пароль фтп и msql для кучи"

Как моя бабка сказала, когда я вычищал сартир лопатой на даче:
"-Все ты какие-то Путинские методы используешь." И дала пня по карыту, куда шлаки мигрируют


Хостинг, который выбирают GURU SEO. ЖМИ!
pepeto вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 30.10.2011, 08:17   #4
 
Аватар для komyak
 
Сообщений: 1,178
FR (активность): 31,654

Доп. информация
По умолчанию

pepeto, иногда лучше читать, чем говорить.


Сео
komyak вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 30.10.2011, 12:02   #5
 
Аватар для bazan
 
Сообщений: 150
FR (активность): 3,879

Доп. информация
По умолчанию Автор темы

komyak, Да пробывал и такими функциями, но вот например у меня на хостинге выдает [DOCUMENT_ROOT] => /home/логин/public_html думаю у других может быть просто user/public_html и т.п., а при подключении по ftp открывается /home/логин/ и как узнать, что нужена именно public_html? И я не нашел способа как узнать, сколько каталогов надо удалить от [DOCUMENT_ROOT] что бы получить чисто корневую папку.
Вот такой скриптик мне показался полезный! Думаю все понятно описано...


Есть кнопка спасибо
bazan вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 30.10.2011, 12:49   #6
 
Аватар для komyak
 
Сообщений: 1,178
FR (активность): 31,654

Доп. информация
По умолчанию

[DOCUMENT_ROOT] он и есть и ничего другого он не выдаст.
Если уж и нужна эта папка, то может что то типо:
Код:
$path = explode('/',$_SERVER[DOCUMENT_ROOT]);
echo $path[count($path)-1];
не проверял, но вроде должно работать.


Сео
komyak вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 30.10.2011, 13:19   #7
 
Аватар для bazan
 
Сообщений: 150
FR (активность): 3,879

Доп. информация
По умолчанию Автор темы

Да тоже пробывал, не подходит, если домен, на котором используется эта функция привязан к папке public_html/домен/
Я все это перепробывал но хотелось, чего нибудь универсального... И предоставленый мой скриптик боюсь не такой если поключение по FTP сразу открывает папку c сайтом "/", как проверю отпишусь.
Если у кого есть возможность и время можете попробывать скриптик просто copy -> past и написать в эту темку. Буду очень благодарен...

Еще попытаюсь объяснить: Вот например я имею FTP реквизиты на подключение, после подключения открывается папка "X" в которой находится например /public_html или там /www в которой уже, находится сайт. Вот скриптик выдает путь от папки "X"(от места подключения по FTP), до папки с сайтом. т.е. папки перед /public_html вида /home/логин/ он считает как корневую папку FTP.

Как бы это скриптик поиска файла по FTP от места соединения минус имя найденого файла.

Добавлено через 20 минут
Цитата:
Сообщение от komyak Посмотреть сообщение
Это что? И зачем для этого ФТП?
чтобы потом закачивать файлы от момента соединения по FTP в нужную папку на сайте.


Есть кнопка спасибо
bazan вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 13.08.2015, 16:02   #8
 
Аватар для theblackpost
 
Сообщений: 1
FR (активность): 5

Доп. информация
По умолчанию

Ох, наверное адский некропостинг. Но давно искал ответ на эту тему..

Есть один вопрос. Где в скрипте заливка этого файла по папкам?)) Или он уже должен лежать в предполагаемом корне?)
theblackpost вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Ответ

Метки
корневая директория, поиск корня сайта

Быстрый ответ
Ваше имя пользователя: Регистрация. Для входа нажмите здесь
Случайный вопрос

Сообщение:
Опции


Опции темы
Опции просмотра Оценка этой теме
Оценка этой теме:

Ваши права в разделе
Вы не можете создавать новые темы
Вы можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Права на папки. leonsio9 Хостинг 12 13.09.2011 15:04
Позиции сайта в поисковике после недельного простоя сайта f@ntom Продвижение сайта 7 31.05.2011 22:29
скрипты для сайта трудоустройства (поиск работы, вакансии) irinax Разработка сайтов 1 13.12.2010 18:35
влияние субдоменов на корневой домен AlexY Google 8 20.10.2008 01:32
Перенос форума с папки /forum в корень сайта. Индексация? V1P-er Индексация сайта 1 19.03.2008 00:04

Текущее время: 13:21. Часовой пояс GMT +3.