Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Скрипт подсчета страниц на сайте
Форумы портала PHP.SU » PHP » Программирование на PHP » Скрипт подсчета страниц на сайте

Страниц (2): [1] 2 »
 

1. pasha237 - 22 Июня, 2010 - 09:29:10 - перейти к сообщению
Есть ли у кого готовый скрипт подсчета всех страниц на сайте, с условием, что все страницы храняться в файлах.
2. Мелкий - 22 Июня, 2010 - 09:52:50 - перейти к сообщению
Сайт динамический? тогда какая нафиг разница, в чём хранятся страницы?
Натравите что-нибудь класса teleport pro и посмотрите, чего и сколько будет на выходе
3. pasha237 - 22 Июня, 2010 - 10:55:33 - перейти к сообщению
Мелкий пишет:
Сайт динамический? тогда какая нафиг разница, в чём хранятся страницы?
-нет сайт не динамический: самописный движок, что-то типа index.php?s=страницы. Но вот как это все(страницы) подсчитать?? Огорчение
4. qbik - 22 Июня, 2010 - 11:08:59 - перейти к сообщению
du -a /домашняя/папка/сайта/|grep *.расширениефайлов |wc -l

зы это в nix в консоли
5. pasha237 - 22 Июня, 2010 - 11:23:45 - перейти к сообщению
qbik пишет:
зы это в nix в консоли
у мну окна...
Задача посложнее.
Мне нужно посчитать эти страницы сайте, который уже залит на хостинг.
6. qbik - 22 Июня, 2010 - 12:10:09 - перейти к сообщению
pasha237 пишет:
Мне нужно посчитать эти страницы сайте, который уже залит на хостинг.

а на хостинге тож окна?
если нет
PHP:
скопировать код в буфер обмена
  1. <?PHP system("du -a /путь/к/папке/сайту/|grep .php|wc -l") ?>
7. Мелкий - 22 Июня, 2010 - 14:05:42 - перейти к сообщению
pasha237 пишет:
нет сайт не динамический: самописный движок, что-то типа index.php?s=страницы

Это по определению динамический сайт.
8. JustUserR - 22 Июня, 2010 - 14:07:28 - перейти к сообщению
pasha237 пишет:
Есть ли у кого готовый скрипт подсчета всех страниц на сайте, с условием, что все страницы храняться в файлах
Для того чтобы получить список всех файлов можно воспользоваться рекурсивным обоходом с помощью функции opendir и readdir - в частности вы можете сразу строить дерево всех существующий файлов и папок - и потом выбрать из них только те которые имеют нужное расширение
Если HTML-страницы являются не реальными файлами в ФС и задаются через некоторые правила в файлах .htaccess - то можно просканировать соответствующие директивы в них и также получить набор alias-ов из которых потом можно получить страницы
9. pasha237 - 23 Июня, 2010 - 13:43:00 - перейти к сообщению
JustUserR пишет:
Для того чтобы получить список всех файлов можно воспользоваться рекурсивным обоходом с помощью функции opendir и readdir


Это что-то типа:

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.   //////////////////////////////////////////////////////////
  4.   // Рекурсивная функция - спускаемся вниз по каталогу
  5.   //////////////////////////////////////////////////////////
  6.   function scan_dir($dirname)
  7.   {
  8.     // Открываем текущий каталог
  9.     $dir = opendir($dirname);
  10.     // Читаем в цикле каталог
  11.     while (($file = readdir($dir)) !== false)
  12.     {
  13.       // Проверяем, не равно ли значение переменной
  14.       // $file текущему или вышележащему каталогу
  15.       if($file != "." && $file != "..")
  16.       {
  17.         echo $dirname."/".$file."<br>";
  18.         // Если перед нами каталог, вызываем рекурсивно
  19.         // функцию scan_dir
  20.         if(is_dir($dirname."/".$file))
  21.         {
  22.           scan_dir($dirname."/".$file);
  23.        }
  24.      }
  25.    }
  26.    // Закрываем каталог
  27.    closedir($dir);
  28.   }
  29.  
  30.   // Имя каталога (устанавливаем текущий каталог)
  31.   $dirname = ".";
  32.   // Вызов функции, осуществляющей рекурсивный спуск по подкаталогам
  33.   // корневого каталога
  34.   scan_dir($dirname);
  35. ?>
  36.  
  37.  


Работает, да. Но, хм, не совсем подходит. Мне бы так: запустил и выдало типа карты сайта...
10. Viper - 23 Июня, 2010 - 14:03:34 - перейти к сообщению
ну можно что-то сгородить типа "прочитало->слило в xml-файл" и для сайта удобно и для google полезно. а то ж некрасиво каждый раз то диры с файлами сканить. да и медленно это.

на http://www.phpclasses[dot]org/ есть куча готовых решений для генерации xml-sitemap а функцию для скана вам уже дали.
11. JustUserR - 23 Июня, 2010 - 14:13:25 - перейти к сообщению
pasha237 пишет:
Работает, да. Но, хм, не совсем подходит. Мне бы так: запустил и выдало типа карты сайта...
С помощью использования данной функции можно сненерировать дерево страниц на вашем web-сайте или одномерный массив с указанием их связи - для генерации же наглядной карты сайты вы можете пройтись по полученному дереву и например открыть каждую из страниц и считать ее заголовок title - и выводить все данные в специальный файл карты сайта с учетом уровней вложенности
Можно использовать множество критериев по которым будет происходить создание карты сайты - можно например смотреть гиперссылки внутри этих HTML-страниц и дополнительно показывать какая из них на какую ссылается
12. alexspb - 23 Июня, 2010 - 18:38:20 - перейти к сообщению
pasha237 пишет:
нет сайт не динамический: самописный движок, что-то типа index.php?s=страницы.

это и есть динамический сайт... - страницы на лету создаются
13. JustUserR - 24 Июня, 2010 - 15:16:47 - перейти к сообщению
alexspb пишет:
Это и есть динамический сайт... - страницы на лету создаются
Не совсем обязательно - поскольку реальные HTML-страницы страницы могут существовать в web-прострастве и содержать в себе определенные шаблонные вставки - и при обращени к такой странице она через переменную окружения PATH_INFO передается шаблонизатору который например добавляет некоторые базовые элементы Тем не менее конечных пользовательких страниц на сайте столько же сколько и HTML-заготовок - поэтому имеется смысл пересчитывать именно их
14. alexspb - 25 Июня, 2010 - 08:54:02 - перейти к сообщению
JustUserR пишет:
и при обращени к такой странице она через переменную окружения PATH_INFO передается шаблонизатору который например добавляет некоторые базовые элементы
это разве не динамическое формирование содержимого?
15. pasha237 - 26 Июня, 2010 - 10:50:43 - перейти к сообщению
Цитата:
на http://www.phpclasses[dot]org/ есть куча готовых решений для генерации xml-sitemap а функцию для скана вам уже дали.
- английский сайт Хм

 

Powered by ExBB FM 1.0 RC1