|
| Дата |
|
USD/RUB | 93.7196 | BTC/USD | 63806.9447 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
09.05.2011, 23:48
|
#1
|
Senior Member
Регистрация: 08.06.2007
Сообщений: 1,080
Бабло: $2147483647
|
Вычислить корень WP в базе блогов
Есть база блогов. Нужно привести всю базу к корневой папке блога. Например, имеем:
http://example.com/blog123/?p=123 нужно получить http://example.com/blog123/
И так со всеми уллами, в не зависимости в каких папках лежит блог и с какими пермалинками. Это возможно? Может кто подскажет решение...
|
|
|
10.05.2011, 00:08
|
#2
|
Senior Member
Регистрация: 01.11.2007
Сообщений: 2,269
Бабло: $288535
|
Заходишь на урл, смотришь, где лежит /wp-content/. Для 99% блогов сработает.
|
|
|
10.05.2011, 00:22
|
#3
|
Senior Member
Регистрация: 23.11.2009
Сообщений: 142
Бабло: $35285
|
$s = "http://example.com/blog123/?p=123";
$arr = explode("/", $url);
$outs = '';
for($i=0; $i<count($arr); $i++){
$outs .= $arr[$i];
if($i == count($arr)-1) break;
}
поидее так можно
|
|
|
10.05.2011, 00:25
|
#4
|
Senior Member
Регистрация: 25.06.2009
Сообщений: 803
Бабло: $141790
|
Цитата:
Сообщение от Данилка
$s = "http://example.com/blog123/?p=123";
$arr = explode("/", $url);
$outs = '';
for($i=0; $i<count($arr); $i++){
$outs .= $arr[$i];
if($i == count($arr)-1) break;
}
поидее так можно
|
не сделаешь так, универсальное решение без открытия сайта не выйдет
|
|
|
10.05.2011, 00:30
|
#5
|
Je suis moine ivre
Регистрация: 03.03.2009
Сообщений: 15,268
Бабло: $797172957
|
Цитата:
Сообщение от Данилка
$s = "http://example.com/blog123/?p=123";
$arr = explode("/", $url);
$outs = '';
for($i=0; $i<count($arr); $i++){
$outs .= $arr[$i];
if($i == count($arr)-1) break;
}
поидее так можно
|
милостивый иисусе!
|
|
|
10.05.2011, 00:31
|
#6
|
Senior Member
Регистрация: 01.11.2007
Сообщений: 2,269
Бабло: $288535
|
Код:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
$c = curl_exec($ch);
curl_close($ch);
$c = substr($c, 0, 10000);
if (preg_match('%(http[A-Za-z0-9/.-_]*/wp-content/)%i', $c, $m)) {
$m[1] = str_replace("/wp-content/", "", strtolower($m[1]));
$link = parse_url($m[1]);
if (!empty($link['host'])) $wp = $m[1];
}
|
|
|
10.05.2011, 00:38
|
#7
|
Senior Member
Регистрация: 08.06.2007
Сообщений: 1,080
Бабло: $2147483647
ТС -->
|
ТС
Спасибо большое, а как это в рабочий скрипт привести? Не силен в php...
|
|
|
10.05.2011, 01:37
|
#8
|
:(
Регистрация: 25.11.2008
Сообщений: 759
Бабло: $94392
|
В файл urls.txt ссылки, результат будет в файле out.txt
Код:
<?php
set_time_limit(0);
##########################
$urls = file('urls.txt', FILE_IGNORE_NEW_LINES);
##########################
foreach($urls as $url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, trim($url));
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
$c = curl_exec($ch);
curl_close($ch);
$c = substr($c, 0, 10000);
if (preg_match('%(http[A-Za-z0-9/.-_]*/wp-content/)%i', $c, $m)) {
$m[1] = str_replace("/wp-content/", "", strtolower($m[1]));
$link = parse_url($m[1]);
if (!empty($link['host'])) {
$fp = fopen("out.txt","a");
fwrite($fp, $m[1] . "\n");
fclose($fp);
}
}
}
?>
__________________
Знать путь и пройти его — не одно и то же. Pharmcash & PharmcashUSA - знаем, проходили... Лидеры в фарме
|
|
|
10.05.2011, 02:00
|
#9
|
Senior Member
Регистрация: 08.06.2007
Сообщений: 1,080
Бабло: $2147483647
ТС -->
|
ТС
Цитата:
Сообщение от y4b53
В файл urls.txt ссылки, результат будет в файле out.txt
|
Спасибо, работает правда как милионную базу с такой скоростью чекать я еще не знаю))
|
|
|
10.05.2011, 02:03
|
#10
|
Je suis moine ivre
Регистрация: 03.03.2009
Сообщений: 15,268
Бабло: $797172957
|
Мультикурлом
|
|
|
|