PHP Copy-Siter
Скрипт для копирования сайта без потери css, img и scripr инклудов.
Долго сидя вдруг захотелось что-то написать и в голову пришла мысль сделать скрипт который будет копировать сайт)
Пока что это только 0.1 версия в которой куча недочётов и недостатков, НО со временем мы всё исправим)
В чём смысл? И как работает скрипт?
Всё просто вы вводите в скрипт там где $url адресс сайта и сохраняете, заливаете его на хостинг и радуетесь)
Работает просто, парсит страницу, заменяет там теги на ссылки, при этом не трогает инклуды файлов и картинков.
Возможности:
1) Парсинг страницы
2) Парсинг страницы если скрипту(На вашем хостинге) передали параметр localhost/index.php?123=123, то скрипт соотвественно спарсит этот же адресс с другого сайта)
3) Заменя прямых и не прямых ссылок
4) Сохранения инклудов картинок, скриптов, css даже если ссылка не прямая
Недочёты:
1) Не работает с ссылками что сидят на htaccess'e (В новой версии постараюсь сделать)
2) Для скриптов отличающихся от index.php нужны отдельные файлы скрипта-копиря (Например если есть site.ru/pars.php, то нужно сделать localhost/pars.php)
3) Не парсятся html - Т.к. имя расшерения разное (Когда подключу htaccess исправлю)
4) Изза моей лени, пришлось убирать все знаки " и ' (Естественно исправим)
5) Нет поддержки входа форм login и т.п.
Пока что скрипт работает на уровне парсинга ГС страничек, т.к. нет поддержки входа форм.
Кароче выполнено 10% задания. Думаю за 2-3 недели будет полноценный копирь с админкой.
Пока что оценивайте то что есть и саму идею!
Сам скрипт
Код:
<?php
//Получаем страницу и в зависимости от адресса переходим на нее
$url = "http://t.blo/im"; //С http://
$url2 = "t.blo/im"; //Без http://
$host = "http://localhost"; // Ваш адрес
if ($_SERVER[REQUEST_URI]) {
$url2 = $_SERVER[REQUEST_URI]; //Получаем адресс запроса
}
$site = file_get_contents("$url$url2"); //Получаем страницу
// конец
// Это самый нелепый этап, мне лень было делать иначе
$srsr = array();
$srsr[0] = '|"|';
$srsr[1] = "|'|";
$srcsiter = preg_replace($srsr,"",$site);
// Конец
//Замена src адрессов для script, img и т.п. которые стоят без прямой ссылки
$srcsite = preg_replace('|src=/|',"src=$url/",$srcsiter);
// Конец
//Замена все href адрессов без прямой ссылки на нашу ссылку
$hrefsite = preg_replace('|href=/|',"href=$host/",$srcsite);
//конец
//заменя всех ссылок сайта на нашу
$ur = array();
$ur[0] = "|href=$url|";
$siter = preg_replace($ur,"href=$host",$hrefsite);
//конец
print_r ($siter);
?>
Если у кого есть желание мне помочь, оставте контакты в теме или ПМ..
//by m0hze: для отдельной темы не тянет ни разу.И где тут скрипт? file_get_contents, olololo