|
|
|
| У меня такая проблемма . Нужен скрипт поиска по фото сайту. Допустим я для каждой фотки прописываю ключевые слова. А в процессе поиска мне выдаются фотки на странице, удовлетворяющие запросу! | |
|
|
|
|
|
|
|
для: Алл
(03.12.2004 в 12:22)
| | Универсальный поиск по сайту вряд ли можно создать, обычно под каждый конкретный сайт создаётся собственная система поиска. Ключевые слова хранятся в базе (файлах) или прямо в HTML?
PS Вот наиболее интересные темы по поиску
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=148
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=514
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=807 | |
|
|
|
|
|
|
|
для: Алл
(03.12.2004 в 12:22)
| | "Фотографии" – это приложение какое то? Т.е. есть там база данных и какое то ее подобие? Или это просто сверстанные странички? | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(04.12.2004 в 00:12)
| | это просто сверстанные странички, на которых располагаются фотки! | |
|
|
|
|
|
|
|
для: Алл
(06.12.2004 в 07:12)
| | А не могли бы вы прикрепить к сообщению примерчик такой страницы... много ли там текста и прочее... Можно один раз пройтись по всем страницам скиптом или вручную (если их немного) и составить файл ключевых слов и ссылок на страницы, откуда эти слова взяты. Тогда поиск будет сводится к поиску по этому файлу. Такой приём позволит здорово уменьшить время поиска. | |
|
|
|
|
|
|
|
для: cheops
(06.12.2004 в 12:48)
| | Я могу сказать адрес сайта
А именно: photogor.com
Посмотрите что можно сделать! | |
|
|
|
|
|
|
|
для: Алл
(07.12.2004 в 07:43)
| | Постараюсь к вечеру чем-нибудь порадовать... а пока встречный вопрос: будет ли менятся число разделов и соотвественно HTML-файлов? | |
|
|
|
|
|
|
|
для: cheops
(07.12.2004 в 12:02)
| | нет, число разделов не будет меняться! Изменению подлежат лишь фотографии и их колличество! | |
|
|
|
|
|
|
|
для: cheops
(07.12.2004 в 12:02)
| | cheops, есть какие-нибудь результаты? | |
|
|
|
|
|
|
|
для: Алл
(08.12.2004 в 05:56)
| | Давайте отталкиваться от такого скрипта, постепенно отлаживая его...
<?php
// Форме внизу странице следует назначить
// обработчик, который бы указывал на
// этот скрипт: action=search.php
// А так же передавать данные методом POST:
// method=POST
// Текстовому окну в форме тоже следует дать
// имя - name
$filenames = array("Природа"=>"g_prir.htm",
"Портрет"=>"g_port.htm",
"Натюрморт"=>"g_natur.htm",
"Город"=>"g_gorod.htm",
"Животные"=>"g_zoo.htm",
"Профессии"=>"g_prof.htm",
"Спорт"=>"g_sport.htm",
"Индустрия"=>"g_industr.htm",
"Люди"=>"g_ludi.htm",
"Фантазии"=>"g_fant.htm",
"Разное"=>"g_razn.htm",
"Друзья"=>"g_drug.htm");
foreach($filenames as $key => $filename)
{
$fd = @fopen($filename,"r");
$bufer = @fread($fd,filesize($filename));
@fclose($fd);
$patern = "|<FONT[^>]*>$_POST[name]|i";
if(!empty($bufer))
{
preg_match_all($patern, $bufer, $matches, PREG_PATTERN_ORDER);
$total = count($matches[0]);
// Если ключевое слово найдено в файле
// выводим на него ссылку
if($total > 0) echo "<a href=$filename>$key</a><br>";
}
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(08.12.2004 в 13:51)
| | ТОгда следующий вопрос: Как прописать для каждой фотки несколько кючевых слов например пейзаж, березка, пенек и т.д. и как сделать так чтобы найденые фотки появлялись в новом окне? | |
|
|
|
|
|
|
|
для: Алл
(09.12.2004 в 06:22)
| | А может нам в параметр alt засунуть ключевые слова? Тогда скрипт следует поменять на следующий
<?php
// Форме внизу странице следует назначить
// обработчик, который бы указывал на
// этот скрипт: action=search.php
// А так же передавать данные методом POST:
// method=POST
// Текстовому окну в форме тоже следует дать
// имя - name
$filenames = array("Природа"=>"g_prir.htm",
"Портрет"=>"g_port.htm",
"Натюрморт"=>"g_natur.htm",
"Город"=>"g_gorod.htm",
"Животные"=>"g_zoo.htm",
"Профессии"=>"g_prof.htm",
"Спорт"=>"g_sport.htm",
"Индустрия"=>"g_industr.htm",
"Люди"=>"g_ludi.htm",
"Фантазии"=>"g_fant.htm",
"Разное"=>"g_razn.htm",
"Друзья"=>"g_drug.htm");
foreach($filenames as $key => $filename)
{
$fd = @fopen($filename,"r");
$bufer = @fread($fd,filesize($filename));
@fclose($fd);
$patern = "|<[^>]*><BR><FONT[^>]*>[^<]*|i";
if(!empty($bufer))
{
preg_match_all($patern, $bufer, $matches, PREG_PATTERN_ORDER);
$flag_find = false;
foreach($matches[0] as $line)
{
if(strpos($line,$_POST['name'])) $flag_find = true;
}
// Если ключевое слово найдено в файле
// выводим на него ссылку
if($flag_find) echo "<a href=$filename>$key</a><br>";
}
}
?>
|
Про новое окно можно посмотреть по ссылке или задать вопрос в HTML+CSS+JavaScript http://www.softtime.ru/forum/index.php?id_forum=4
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=502 | |
|
|
|
|
|
|
|
для: cheops
(09.12.2004 в 09:53)
| | cheops, если в alt прописывать кучу ключевых слов для каждой фотки, то при наведении на фото появиться огромный комментарий? | |
|
|
|
|
|
|
|
для: Алл
(09.12.2004 в 13:31)
| | Ну... тогда нужно посоветоваться с дизайнерами http://www.softtime.ru/forum/index.php?id_forum=4 чем там сейчас модно - невидимым шрифтом или фриштом нулевого размера писать, чтобы за одно и поисковики страницы индексили, а когда будет готова страница с ключевыми словами - составим новое регулярное вырежение уже под эти ключевые слова... | |
|
|
|
|
|
|
|
для: cheops
(09.12.2004 в 21:45)
| | Моднее всего в последнее время делать это открыто.
Пусть у каждой фотки рядом будет маленький абзац, где и будут перечислены эти ключевые слова. И людям хорошо и поисковикам и нашему регулярному выражению.
Посетители пока будут ждать загрузку картинок смогут прочитать ключевые слова и понять - нужна им эта картинка или нет.
Если все же открыто писать это нельзя, то давайте пообсуждаем это в форуме HTML+CSS+JavaScript. | |
|
|
|
|
|
|
|
для: cheops
(09.12.2004 в 21:45)
| | Я пробилдля всех фоток новые ключевые слова, получилось вовсе не мерзко, а каким образом поисковик найдет карлинку по alt надо ли что-нить менять в html коде
и еще, я в html код вставил следующее выражение
<?php
include ("index.php");
?>
но данный файл не начал работу. Что я сделал не так? | |
|
|
|
|
|
|
|
для: Алл
(10.12.2004 в 07:35)
| | Я к сожалению не могу пока до сайта достучатся, чтобы сообразить что к чему...
Для того, чтобы выполнялся PHP-код файл следует либо переименовать в *.php, либо прописать html-файлы как PHP-файлы, как это описывается по ссылке:
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1010 | |
|
|
|
|
|
|
|
для: cheops
(10.12.2004 в 09:33)
| | Вопрос а если все держиться на базе как тогда быть? | |
|
|
|
|
|
|
|
для: Ozxar
(10.12.2004 в 11:54)
| | С базой проще - там можно осуществлять полнотекстовый поиск... но это лучше обсуждать в форуме MySQL | |
|
|
|
|
|
|
|
для: cheops
(10.12.2004 в 22:40)
| | А все-таки как обойтись без MySQL | |
|
|
|
|
|
|
|
для: Алл
(13.12.2004 в 12:06)
| | Хм... сейчас поглядег не увидел ключевых слов - т.е. будем действовать по старому варианту? Зато увидел, что появились дополнительные страницы, т.е. открывать файлы тоже надо будет по регулярному выражению... | |
|
|
|
|
|
|
|
для: cheops
(13.12.2004 в 12:19)
| | Ключевые слова вбиваются в alt т.е. просто прописываются там, а на сайте их нет потому, что фоток очень много, и они еще не выкладывались, выставленны лишь "опытные образцы" (по три фотографии на страницу), дополнительные НTML страницы тоже не появились, добавились только несколько php и одна Html была переделана в php (там находится index гостевой книги). | |
|
|
|
|
|
|
|
для: cheops
(10.12.2004 в 09:33)
| | сделал все как здесь написано в самой форме прописал метод post асtion=search.php ввел имя в форме "s", а сам скрипт сделал как search.php,
ввожу ключевое слово, а он мне выдает что мол ошибка в 34 строке.
Как быть? | |
|
|
|
|
|
|
|
для: cheops
(09.12.2004 в 09:53)
| | сделал все как здесь написано в самой форме прописал метод post асtion=search.php ввел имя в форме "s", а сам скрипт сделал как search.php,
ввожу ключевое слово, а он мне выдает что мол ошибка в 34 строке.
Как быть? | |
|
|
|
|
|
|
|
для: Алл
(20.12.2004 в 09:13)
| | А что за ошибка, что PHP пишет в окно браузера? | |
|
|
|
|
|
|
|
для: cheops
(20.12.2004 в 13:15)
| | Выдает он следующее
Parse error: parse error in z:\home\test1.ru\www\search.php on line 33
и еще для чего я задавал имя для формы? Как-нибудь это должно быть отражено в скрипте? | |
|
|
|
|
|
|
|
для: Алл
(22.12.2004 в 06:03)
| | А прикрепите код к сообщениию. Нам ведь неизвестно что в 33 строке. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(22.12.2004 в 11:08)
| | код скрипта search.php я взял такой, как подсказал сheops (в этой теме последний код) | |
|
|
|
|
|
|
|
для: Алл
(23.12.2004 в 06:40)
| | Да... действительно, так как у меня под рукой небыло HTML-страниц - писал в слепую и не тестировал - ошибка в том посте исправлена - попробуйте ещё раз. | |
|
|
|
|
|
|
|
для: cheops
(23.12.2004 в 09:47)
| | запустил я данный скрипт, он показал мне ошибку
Notice: Undefined index: name in z:\home\test1.ru\www\search.php on line 33
я тогда ввел в тело скрипта строчку
Error_Reporting(E_ALL & ~E_NOTICE);
ошибку он не выдает, но и на мой запрос не отвечает, показывает пустой экран (фото не выводит). А запрос я делал по слову природа, в alt е у многих фоток прописанно именно это слово. В чем проблемма не понимаю? | |
|
|
|
|
|
|
|
для: Алл
(24.12.2004 в 08:51)
| | Дайте хоть какой-нибудь совет, что дальше делать! | |
|
|
|
|
|
|
|
для: Алл
(27.12.2004 в 06:10)
| | Что-то пропустил ваш ответ... давайте продолжим обсуждение в другой теме http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1273 - эта уже слишком длинная. | |
|
|
|