Здравствуйте у меня такой вопрос, можно ли как-нибудь организовать поиск по локальной сети на ФТП, я хочу написать скрипт, который мог бы считать все данные с FTP сервера (каталоги, файлы) и вывел бы нужные (запрошенные в поле поиска) в браузере (упорядочено), Можно ли такое осуществить и как если можно?
PHP: <?php // установка соединения $conn_id = ftp_connect($ftp_server); // проверка имени пользователя и пароля $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); // получение списка файлов директори / $buff = ftp_rawlist($conn_id, '/'); // закрытие соединения ftp_close($conn_id); // вывод буфера var_dump($buff); ?> Это выводит лист файлов. тока так у тебюя ничего не получился. Ты прикинь сколько тебе понадобится времени чтоб весь сервер прошерстить. Обычно индексируют ФТП сервер и все пути и файлы записывают в локальную базу для быстрого поиска. Сам поиск будет выводить ссылки на ФТП, но из твоей базы. Индексируй пару раз в день.
месяц назад была та же задача: PHP: <?php $toXML = ""; $startdirname = "E:/Films1"; // откуда берем $rep = "E:/"; // эта часть имени папки отрезается $linkname = "ftp://192.168.0.129"; // указываем откуда брать при генерировании ссылки recopendir($startdirname); writeXML('forSite.xml', $toXML); function toUTF($str) { $str=iconv("cp1251", "utf-8//IGNORE", $str); return $str; } function recopendir($dirname) { if($dir=opendir($dirname)) { global $rep; global $linkname; global $toXML; $folder = str_replace($rep, "", $dirname); $toXML .= "<folder name = \"".$folder."\" >"; while ($file=readdir($dir)) { if (eregi(".avi$|.mkv$|.vob$",$file)) $toXML .= "<item film = \"".$file."\" link = \"".toUTF($linkname."/".$folder."/".$file)."\" />"; if (is_dir($dirname."/".$file) && ($file != ".") && ($file != "..")) recopendir($dirname."/".$file); } closedir($dir); $toXML .= "</folder>"; } } function writeXML($filename, $xml) { $xmlStart = '<?xml version="1.0" encoding="utf-8"?><items>'; $xmlEnd = "</items>"; $toX = $xmlStart.$xml.$xmlEnd; file_put_contents($myfile, $toX); } ?>