|
|
|
| Это продолжение темы http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1593
Поиск - тоже все хорошо, кроме того, что добавляет к IMG SRC имя htm-файла (например,
http://ancientrome.ru/art/artwork/sculp/rom/imp/augustus/livia/liv001.htmliv001-0.jpg
ВМЕСТО
http://ancientrome.ru/art/artwork/sculp/rom/imp/augustus/livia/liv001-0.jpg)
Ага, есть такое дело - поправил
Да, совсем забыл!
Бывает и больше двух фотографий на одной html-странице.
Максимум - 5-6.
Что надо для этого дописать?
Давайте тогда в цикл загоним
<?php
for($j = 0; $j<6; $j++)
{
if(isset($out[$j]))
{
$out[$j][1] = str_replace("\r\n","",$out[$j][1]);
$out[$j][1] = str_replace("\n","",$out[$j][1]);
fwrite($fb,"$i ".$out[$j][2]." ".$out[$j][1]."\n");
}
}
?>
|
Если число изображений увеличится - вместо 6 поставите нову цифру...
PS В аттаче новый вариант сканера и поиска. | |
|
|
|
|
|
|
|
для: cheops
(23.01.2005 в 15:24)
| | Какой-то странный глюк:
в одной папке SCAN.PHP запустился и отработал на 5;
копирую файлы для поиска в другую папку, запускаю SCAN.PHP- запись произошла только в URL.TXT, в BASE.TXT никакими способами сделать запись не удается. | |
|
|
|
|
|
|
|
для: SS
(23.01.2005 в 18:01)
| | Там вообще ни одной записи нет, или он что-то пишет, что-то пропускает? С правами доступа к файлам всё нормально - не может файл быть закрыт на запись? | |
|
|
|
|
|
|
|
для: cheops
(23.01.2005 в 18:08)
| | Права на файлы BASE, URL 777.
Запустите сами SCAN (http://ancientrome.ru/art/artwork/paint/scan.php)
Здесь - чистые файлы
BASE: http://ancientrome.ru/art/artwork/paint/base.txt
URL: http://ancientrome.ru/art/artwork/paint/url.txt
Тот же самый SCAN.PHP скульптуры перепахал изумительно, без претензий. | |
|
|
|
|
|
|
|
для: SS
(23.01.2005 в 18:55)
| | Хм... добавился один только файл 229.
А вы не можете меня направить на сбойный htm-файл, допустим ./etr/p0002.htm/ - это куда нужно идти? | |
|
|
|
|
|
|
|
для: cheops
(23.01.2005 в 18:58)
| | Всё добрался... сейчас попробую обработать эту ситуацию... | |
|
|
|
|
|
|
|
для: cheops
(23.01.2005 в 19:06)
| | Попробуйте вот этим скриптом просканировать. | |
|
|
|
|
|
|
|
для: cheops
(23.01.2005 в 19:09)
| | Этот скрипт выдает ошибку
Parse error: parse error, unexpected T_FOR in /home/ancientrome/html/art/artwork/paint/scan.php on line 56
Пробовал запустить из папки etr/ старый вариант SCAN'а - тот же результат, находит только один файл. | |
|
|
|
|
|
|
|
для: SS
(23.01.2005 в 19:40)
| | Ага поправил /*расчудесная ошибка какая была...*/ | |
|
|
|
|
|
|
|
для: cheops
(23.01.2005 в 20:17)
| | Результат тот же - см. ссылки на файлы SCAN, BASE, URL выше. Только теперь добавил ALT баннера. | |
|
|
|
|
 1.2 Кб |
|
|
для: SS
(23.01.2005 в 23:08)
| | Тогда, давайте следующий вариант попробуем... | |
|
|
|
|
|
|
|
для: cheops
(23.01.2005 в 23:48)
| | ДА! УРА!
Последний штрих - игнорировать рисунки с подписью ИСТОРИЯ ДРЕВНЕГО РИМА и (а то баннер с каждой страницы срисовывает) или размеров 88х31 - как проще. | |
|
|
|
|
|
|
|
для: SS
(24.01.2005 в 00:06)
| | У баннера название наверное не меняется? Тогда его можно игнорировать примерно следующим образом:
<?php
if(isset($out[0]))
{
for($j = 0; $j<6; $j++)
{
if(isset($out[$j]))
{
$out[$j][1] = str_replace("\r\n","",$out[$j][1]);
$out[$j][1] = str_replace("\n","",$out[$j][1]);
if($out[$j][2] != "../../../../site/idr88-31b.GIF")
fwrite($fb,"$i ".$out[$j][2]." ".$out[$j][1]."\n");
}
}
}
else
{
$patern = "|<img[\s]*src[^\"]*\"([^\"]*)\"[^a]*alt[^\"]*\"([^\"]*)|i";
preg_match_all($patern, $buffer, $out, PREG_SET_ORDER);
// Вместо 6 поставьте максимальное число изображений на
// на странице
for($j = 0; $j<6; $j++)
{
if(isset($out[$j]))
{
$out[$j][2] = str_replace("\r\n","",$out[$j][2]);
$out[$j][2] = str_replace("\n","",$out[$j][2]);
if($out[$j][1] != "../../../../site/idr88-31b.GIF")
fwrite($fb,"$i ".$out[$j][1]." ".$out[$j][2]."\n");
}
}
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(24.01.2005 в 00:14)
| | Вот тебе и последний штрих :) Ляпнул, не подумав. Cheops, спасибо Вам за долготерпение! Но никак не могу пройти мимо некоторых досадных мелочей:
1. Если ALT пустой или = "ИСТОРИЯ ДРЕВНЕГО РИМА" - картинку индексировать не надо. Дело в том, что баннеры не только idr88x31b.GIF, есть и другие и сканер проиндексировал даже с idr88x31.GIF (он смотрит по относительному пути, но у каждого уровня свой относительный путь к файлу, в ту или другую сторону).
2. URL.XTX - не выводить другие файлы, кроме htm, html, php (простейший пример - у нас сейчас ок.1000 картинок, на каждую есть превьюшка и htm-документ, итого получается 1000*3=3000 файлов, из 2000 - ненужная информация.). Сейчас удалены вручную.
3. Сейчас страницы проиндексированы, приписываются ключевые слова для каждой картинки в теге примечаний, чтобы не выводились в результатах поиска, труд немалый, скажем, жалко потерять при переиндексации. И вручную вносить обновления - тоже не лучший вариант, особенно, если учесть, что загружает их несколько человек, - накладки неизбежны. Поправьте, пожалуйста, чтобы при повторной индексации проиндексированные картинки не индексировались, т.е. если есть такая картинка по такому адресу - то ничего не записываем, если нет - то прибавляем 1 к максимальному номеру ссылки в файле URL.TXT и делаем запись. Что-то в этом духе.
4. Возможность стоп-листа. Сейчас набираешь любой предлог или знак препинания - и поисковик рад стараться, выводя все страницы. Допишите, пожалуйста, чтобы перед началом поиска сначала проверить содержимое файла, напр., STOP.TXT и если там нет такого знака или слова, то тогда ищем, если есть - то ругаться. | |
|
|
|
|
|
|
|
для: SS
(24.01.2005 в 19:18)
| | 1-3) Постарался учесть...
4) Это уже давайте завтра - подумать нужно... может здесь лучше регулярными выраженями... зачем психически здоровым людям искать точки и запятые... давайте ограничим поиск словами, число символов в которых не меньше 4 (это обычная практика). | |
|
|
|
|
|
|
|
для: cheops
(25.01.2005 в 00:34)
| | Здесь специфика сайта не позволяет... Ключевое слово "Рим" состоит из 3-х букв, потом есть такая богиня Ио, а поскольку это раздел Античного искусства и страницы содержат также и информацию о дате, то будет не найти картинку по дате, поскольку в начале нашей эры дата могла состоять из двух или даже из одной цифры.
Смотря статистику текстовых поисковиков, диву даешься, что пытаются искать... | |
|
|
|
|
|
|
|
для: SS
(25.01.2005 в 01:12)
| | Да, вообще-то, я как-то не подумал об предметной области... точка с запятой и точки используется в поиске? их бы с точки зрения безопасности исключить нужно... | |
|
|
|
|
|
|
|
для: cheops
(25.01.2005 в 01:44)
| | Если это возможно, то оставить их только для слов, работающих с датой:
в.
вв.
г.
гг.
н.
э.
нач.
кон.
сер.
ок.
Однако, я сейчас проверил - сейчас их поиск не находит, например, запрос "I в." или "I в. до н.э." не находит, хотя в BASE.TXT таких файлов полно. | |
|
|
|
|
|
|
|
для: cheops
(25.01.2005 в 00:34)
| | Проверил новый scan - ничего не вносит ни в BASE ни в URL. | |
|
|
|
|
|
|
|
для: SS
(25.01.2005 в 15:08)
| | Я имею ввиду - НЕ ВНОСИТ ВООБЩЕ НИЧЕГО, ни старых файлов, ни новых, ни в URL, ни в BASE.
Не уверен, но проверьте, пожалуйста, это место:
$path_parts = pathinfo($file);
if(!in_array($path_parts["extension"], $ext)) continue;
// Проверяем файл на предмет повторной индексации - если
// он уже проиндексирован - пропускаем цикл
if(!in_array($dirname."/".$file, $url_alredy)) continue;
// Записываем имя файла в url.txt
fwrite($fd, "$i $dirname/".$file."/\n");
|
| |
|
|
|
|
|
|
|
для: SS
(26.01.2005 в 03:57)
| | Извиняюсь за навязчивость, но Вы не смотрели еще мой вопрос? Или не получается? | |
|
|
|
|
|
|
|
для: SS
(27.01.2005 в 22:07)
| | У нас уже опять длинная тема :))) - давайте переместимся в новую
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1815 | |
|
|
|
|
|
|
|
для: SS
(23.01.2005 в 18:55)
| | Кстати, попробуйте его в etr запустить - что там? На худой конец rom можно и так добавить - там один файл по сути... | |
|
|
|