Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Суммарный размер всех страниц www-сайта и их количество

Сообщения:  [1-10]    [11-20]   [21-30]  [31-33] 

 
 автор: Nicole Neumann   (27.10.2006 в 22:23)   письмо автору
 
   для: Nicole Neumann   (27.10.2006 в 21:01)
 

СПАСИБО! Получил на почту! Пароль к номеру 7557111 отправил! Респект!

   
 
 автор: Nicole Neumann   (27.10.2006 в 21:32)   письмо автору
 
   для: ЯR   (27.10.2006 в 21:27)
 

жду

   
 
 автор: ЯR   (27.10.2006 в 21:27)   письмо автору
 
   для: Nicole Neumann   (27.10.2006 в 21:01)
 

ок, ща (вышлю на мыло)

   
 
 автор: Nicole Neumann   (27.10.2006 в 21:01)   письмо автору
 
   для: ЯR   (27.10.2006 в 20:56)
 

УРА! Другое дело! А можешь прям щас быстро еще подправить, чтоб не выводил http://josiefans.com/blablabla в списке с других, а выводил в списке с исходного сайта.... А так, респект!!!! Сразу же и номерок пришлю с паролем!!!

   
 
 автор: ЯR   (27.10.2006 в 20:56)   письмо автору
 
   для: Nicole Neumann   (27.10.2006 в 12:02)
 

Попробуй так (у меня работает):

<?php 
//Отображаем верхнюю часть страницы
require_once("top.php");

error_reporting(0);
set_time_limit(300);

$site "http://www.josiefans.com/"// сайт

$links[] = '';
$siteimg = array();
$otherimg = array();
$sizes = array();
//Определяем адрес сервера
$content getpage($site);
preg_match("/Content-Length: ([0-9]+)/i"$content$size);
$sizes[$links[0]] = $size[1];
getlinks($content'');
getsiteimg($content$links[$i]);

$i=1;
while (!empty(
$links[$i])) {
    
$content getpage($site.$links[$i]);
    
getlinks($content$links[$i]);
    
getsiteimg($content$links[$i]);
    
preg_match("/Content-Length: ([0-9]+)/i"$content$size);
    
$sizes[$links[$i]] = $size[1];
    
$i++;
}

$total_size 0;

foreach (
$sizes as $val$total_size += $val;
$total_pages count($sizes);
$total_images count($siteimg) + count($otherimg);

print 
"Всего:<br>
размер: 
$total_size байт<br>
страницы: 
$total_pages<br>
изображения: 
$total_images<br>
"
;

arsort($sizes);

print 
"<br>Наибольшие страницы:<br>\n";
$i 1;
foreach (
$sizes as $key => $val) {
    print 
"$i. <a href='$site$key' target='_blank'>$site$key</a> -- $val байт<br>\n";
    if (
$i >= 5) break;
    
$i++;
}

asort($sizes);

print 
"<br>Наименьшие страницы:<br>\n";
$i 1;
foreach (
$sizes as $key => $val) {
    print 
"$i. <a href='$site$key' target='_blank'>$site$key</a> -- $val байт<br>\n";
    if (
$i >= 5) break;
    
$i++;
}

asort($siteimg);

print 
"<br>Изображения с сайта:<br>\n";
$i 1;
foreach (
$siteimg as $val) {
    print 
"$i. <a href='$site$val' target='_blank'>$site$val</a><br>\n";
    
$i++;
}

asort($otherimg);

print 
"<br>Изображения с других сайтов:<br>\n";
$i 1;
foreach (
$otherimg as $val) {
    print 
"$i. <a href='$val' target='_blank'>$val</a><br>\n";
    
$i++;
}


/////////////////////////////////////////
// Ф У Н К Ц И И
/////////////////////////////////////////
//Функция запроса к заданному серверу
function getpage($link)
{
    
$link parse_url($link);
    
$link['port'] = (empty($link['port'])) ? 80 $link['port'];
    
$fp fsockopen($link['host'], $link['port'], $sock_errno$sock_errstr60);
    if (!
$fp) {
        print 
"$sock_errstr ($sock_errno)<br>\n";
    } else {
        
$out  "GET {$link['path']}?{$link['query']} HTTP/1.1\r\n";
        
$out .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*\r\n";
        
$out .= "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; DigExt)\r\n"// маскировка под IE 5
        
$out .= "Host: {$link['host']}\r\n";
        
$out .= "Connection: Close\r\n\r\n";

        
fwrite($fp$out);
        
$text '';
        while (!
feof($fp)) {
            
$text .= fgets($fp4096);
        }
        
fclose($fp);
    }
    return (
$text);
}

// вывод ссылок с страницы
function getlinks($content$pre){
    
preg_match_all("/\<a href=\"(\S+)\/\"\>(.*)\<\/a\>/isU"$content$regs);
    foreach (
$regs[1] as $value){
        if (
substr($value07) != 'http://'){
            
$count substr_count($value'../');
            for (
$i=1$i <= $count && $pre != ''$i++){
                if (
substr_count($pre'/') > 1$pre substr($pre0strrpos($pre'/'));
                else 
$pre '';
            }
            
$link str_replace('../'''$pre.$value.'/');
            if (!
in_array($link$GLOBALS['links']) && $link!='../'$GLOBALS['links'][] = $link;
        }
    }
}
// вывод изображений со страницы сайта и других сайтов
function getsiteimg($content$pre){
    
preg_match_all("/<img src=\"(\S+)\"/isU"$content$regs);
    foreach (
$regs[1] as $value){
        if (
substr($value07) != 'http://'){
            
$count substr_count($value'../');
            for (
$i=1$i <= $count && $pre != ''$i++){
                if (
substr_count($pre'/') > 1$pre substr($pre0strrpos($pre'/'));
                else 
$pre '';
            }
            
$siteimg str_replace('../'''$pre.$value);
            if (!
in_array($siteimg$GLOBALS['siteimg'])) $GLOBALS['siteimg'][] = $siteimg;
        }else{
            if (!
in_array($value$GLOBALS['otherimg'])) $GLOBALS['otherimg'][] = $value;
        }
    }
}
//Отображаем нижнюю часть страницы
require_once("bottom.php");
?>

   
 
 автор: ЯR   (27.10.2006 в 20:45)   письмо автору
 
   для: Nicole Neumann   (27.10.2006 в 20:27)
 

ща посмотрю

   
 
 автор: Nicole Neumann   (27.10.2006 в 20:27)   письмо автору
 
   для: ЯR   (27.10.2006 в 20:22)
 

.... хм... ничего не выдает... пусто...

   
 
 автор: ЯR   (27.10.2006 в 20:22)   письмо автору
 
   для: Nicole Neumann   (27.10.2006 в 12:02)
 

Тестируй (вроде работает):

<?php 
//Отображаем верхнюю часть страницы
require_once("top.php");

error_reporting(0);

$site "http://www.josiefans.com/"// сайт

$links[] = '';
$siteimg = array();
$otherimg = array();
$sizes = array();
//Определяем адрес сервера
$content getpage($site);
preg_match("/Content-Length: ([0-9]+)/i"$content$size);
$sizes[$links[0]] = $size[1];
getlinks($content'');
getsiteimg($content$links[$i]);

$i=1;
while (!empty(
$links[$i])) {
    
$content getpage($site.$links[$i]);
    
getlinks($content$links[$i]);
    
getsiteimg($content$links[$i]);
    
preg_match("/Content-Length: ([0-9]+)/i"$content$size);
    
$sizes[$links[$i]] = $size[1];
    
$i++;
}

$total_size 0;

foreach (
$sizes as $val$total_size += $val;
$total_pages count($sizes);
$total_images count($siteimg) + count($otherimg);

print 
"Всего:<br>
размер: 
$total_size байт<br>
страницы: 
$total_pages<br>
изображения: 
$total_images<br>
"
;

arsort($sizes);

print 
"<br>Наибольшие страницы:<br>\n";
$i 1;
foreach (
$sizes as $key => $val) {
    print 
"$i. <a href='$site$key' target='_blank'>$site$key</a> -- $val байт<br>\n";
    if (
$i >= 5) break;
    
$i++;
}

asort($sizes);

print 
"<br>Наименьшие страницы:<br>\n";
$i 1;
foreach (
$sizes as $key => $val) {
    print 
"$i. <a href='$site$key' target='_blank'>$site$key</a> -- $val байт<br>\n";
    if (
$i >= 5) break;
    
$i++;
}

asort($siteimg);

print 
"<br>Изображения с сайта:<br>\n";
$i 1;
foreach (
$siteimg as $val) {
    print 
"$i. <a href='$site$val' target='_blank'>$site$val</a><br>\n";
    
$i++;
}

asort($otherimg);

print 
"<br>Изображения с других сайтов:<br>\n";
$i 1;
foreach (
$otherimg as $val) {
    print 
"$i. <a href='$val' target='_blank'>$val</a><br>\n";
    
$i++;
}


/////////////////////////////////////////
// Ф У Н К Ц И И
/////////////////////////////////////////
//Функция запроса к заданному серверу
function getpage($link)
{
    
$link parse_url($link);
    
$link['port'] = (empty($link['port'])) ? 80 $link['port'];
    
$fp fsockopen($link['host'], $link['port'], $sock_errno$sock_errstr60);
    if (!
$fp) {
        print 
"$sock_errstr ($sock_errno)<br>\n";
    } else {
        
$out  "GET {$link['path']}?{$link['query']} HTTP/1.1\r\n";
        
$out .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*\r\n";
        
$out .= "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; DigExt)\r\n"// маскировка под IE 5
        
$out .= "Host: {$link['host']}\r\n";
        
$out .= "Connection: Close\r\n\r\n";

        
fwrite($fp$out);
        
$text '';
        while (!
feof($fp)) {
            
$text .= fgets($fp4096);
        }
        
fclose($fp);
    }
    return (
$text);
}

// вывод ссылок с страницы
function getlinks($content$pre){
    
preg_match_all("/\<a href=\"([\.][\.][\/])*(\S+)\/\"\>(.*)\<\/a\>/isU"$content$regs);
    foreach (
$regs[1] as $key=>$value){
        
$count substr_count($value'../');
        for (
$i=1$i <= $count && $pre != ''$i++){
            if (
substr_count($pre'/') > 1$pre substr($pre0strrpos($pre'/'));
            else 
$pre '';
        }
        
$link $pre.$regs[2][$key].'/';
        if (!
in_array($link$GLOBALS['links']) && $link!='../'$GLOBALS['links'][] = $link;
    }
}
// вывод изображений со страницы сайта и других сайтов
function getsiteimg($content$pre){
    
preg_match_all("/<img src=\"(\S+)\"/isU"$content$regs);
    foreach (
$regs[1] as $value){
        if (
substr($value07) != 'http://'){
            
$count substr_count($value'../');
            for (
$i=1$i <= $count && $pre != ''$i++){
                if (
substr_count($pre'/') > 1$pre substr($pre0strrpos($pre'/'));
                else 
$pre '';
            }
            
$siteimg str_replace('../'''$pre.$value);
            if (!
in_array($siteimg$GLOBALS['siteimg'])) $GLOBALS['siteimg'][] = $siteimg;
        }else{
            if (!
in_array($value$GLOBALS['otherimg'])) $GLOBALS['otherimg'][] = $value;
        }
    }
}
//Отображаем нижнюю часть страницы
require_once("bottom.php");
?>

   
 
 автор: Nicole Neumann   (27.10.2006 в 19:37)   письмо автору
 
   для: ЯR   (27.10.2006 в 19:32)
 

Давай! Жду! С удовольствием поделюсь!

   
 
 автор: ЯR   (27.10.2006 в 19:32)   письмо автору
 
   для: Nicole Neumann   (27.10.2006 в 19:29)
 

ну так я её и попробую заполучить

   

Сообщения:  [1-10]    [11-20]   [21-30]  [31-33] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования