Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Kinard
Зарегистрирован: 11.05.2004 Сообщения: 132 Откуда: Ленинградская обл. пос. Ульяновка
|
Добавлено: Чт Июл 01 2004 12:08 Заголовок сообщения: Вставка файла на PHP. |
|
|
Есть скрипт на php, сканирующий папки и выводящий список найденных файлов. А файлы эти - htm`ки.
--------------------------------------------------------------------------------------
FISH - Папка для поиска
- minoga.htm - первый документ
- semga.htm - второй документ
- MINOGA - картинки к первому документу
- SEMGA - картинки ко второму документу
--------------------------------------------------------------------------------------
Если в php я пишу include ("FISH\minoga.htm") - то никаких картинок я не наблюдаю, так как пути в htm`ках относительные.
Можно, конечно, подправить пути на абсолютные, но у меня таких htm`ок - вагон с большой телегой и с прицепом. А вдруг, я классификацию сменю? Править каждую htm`ку?
Подскажите, грамотные люди, как можно реализовать ещё и показ содержимого в том-же окне? Фреймы не приветствуются... |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
GeX
Зарегистрирован: 03.01.2004 Сообщения: 60 Откуда: Россия, Иркутск
|
Добавлено: Вт Июл 13 2004 10:46 Заголовок сообщения: |
|
|
Я тоже долго мучался с этим вопросом, кроме абсолютных путей никаких вариантов не нашел, видимо придется тебе ими пользоваться. Я еще покопаюсь, если что придумаю напишу. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Астарот Гость
|
Добавлено: Вт Июл 13 2004 11:48 Заголовок сообщения: |
|
|
Я что-то не понял... В папку FISH копируются .htm файлы что б потом их вытащить??? Если да, то это раз - изврат, два - копируйте туда и папочку с имиджами, тогда все заработает. А вообще-то поиск должен работать со ссылками, то есть с массивом ссылок. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Admin Site Admin
Зарегистрирован: 31.10.2003 Сообщения: 235
|
Добавлено: Вт Июл 13 2004 20:03 Заголовок сообщения: |
|
|
Вопрос некорректен (недостаточно информации).
Возможно, вам нужна функция virtual? |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Kinard
Зарегистрирован: 11.05.2004 Сообщения: 132 Откуда: Ленинградская обл. пос. Ульяновка
|
Добавлено: Пт Июл 16 2004 11:25 Заголовок сообщения: |
|
|
Астарот писал(а): | Я что-то не понял... В папку FISH копируются .htm файлы что б потом их вытащить??? | Ничего никуда не копируется.
Астарот писал(а): | ...копируйте туда и папочку с имиджами, тогда все заработает. | Сейчас ниже я всё пропишу конкретно...
0. Есть у меня на сайте папка "SEA". В этой папке лежит только один файл "index.php" и несколько папок: "BIG FISH", "SMALL FISH", "DEEP LIFE". В этих папках, лежат описания рыб, подходящих под соответствующую категорию: файлы("minoga.htm", "semga.htm", "kit.htm") и папки с картинками("MINOGA", "SEMGA","KIT"). Выглядит это так: Код: |
SEA
|
- index.php
- BIG FISH
| |
| - kit.htm
| - KIT
| |
| - image.gif
| - image2.gif
| - image3.gif
- SMALL FISH
| |
| - minoga.htm
| - semga.htm
| - MINOGA
| | |
| | - image.gif
| | - image2.gif
| | - image3.gif
| - SEMGA
| |
| - image.gif
| - image2.gif
| - image3.gif
- DEEP LIFE |
1. Так вот, когда пользователь попадает в папку "SEA" - за работу принимается "index.php" - который без параметров рисует табличку с найденными тут-же папками. Результатом будет МЕНЮШКА: Код: | BIG FISH | SMALL FISH | DEEP LIFE |
2. При нажатии на любой из пунктов свежесгенерированной менюшки пользователь отправляется на тот-же самый "index.php", но уже с параметром "menu=SMALL FISH"(к примеру). Результатом работы будет уже такая менюшка: Код: | BIG FISH | SMALL FISH | DEEP LIFE
| MINOGA |
| SEMGA | | так как "index.php" просканирует дополнительно ещё и папку, указанную в параметре "menu" и покажет найденные там файлы, но без показа ".htm", так как могут быть описания без картинок.
3. При нажатии на любой из пунктов выпавшего меню, пользователь отправляется куда? Конечно-же на всё тот-же самый "index.php", но уже с двумя параметрами "menu=SMALL FISH&item=SEMGA"(к примеру) и как результат броузер выдаст пользователю следующую картину: Код: | BIG FISH | SMALL FISH | DEEP LIFE
| MINOGA |
| SEMGA |
---------------------------------
Семга - это такая классная рыба,
что просто офигеть можно. Хотя,
взрослым и умным людям -
офигевать необязательно. Сверху,
сёмга выглядит так:
---------------------------------
| |
| (тут картинка) |
| |
---------------------------------
снизу выглядит вот так:
---------------------------------
| |
| (тут ещё картиночка) |
| |
---------------------------------
а внутри у неё вообще бардак.
Увидеть можно тут:
---------------------------------
| |
| (и ещё картиночка) |
| |
---------------------------------
|
Работа "index.php" в данном случае:
1. Рисует первый уровень меню(показывает найденные папки в папке "SEA")
2. Рисует второй уровень меню(показывает найденные файлы в папке, указанной пользователем - когда он выбрал пункт в первом уровне меню "menu=")
3. Показывает содержимое выбранного файла(указанного в параметре item) функцией include ("$menu.'\\'.$item".'htm').
Вот тут и возникает проблема, что картинки при таком подключении не показываются, так как "semga.htm" ссылается на картинки так: "SEMGA\image.gif". А "index.php" лежит в папке "SEA", где папки "SEMGA" никогда небыло и быть не может, так как это испортит нам классификацию в первом уровне меню.
ЧТО ДЕЛАТЬ??? |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Kinard
Зарегистрирован: 11.05.2004 Сообщения: 132 Откуда: Ленинградская обл. пос. Ульяновка
|
Добавлено: Пт Июл 16 2004 11:34 Заголовок сообщения: |
|
|
Зачем изврат, спросите вы... А вот и не изврат, так как я могу добавлять либо категорию, либо новую рыбу в такой каталог без правки чего-либо!!! Просто закинул всё в папку и даже проверять не стоит... А пока мне приходится извращаться: echo ("<a href='$menu/$item' target='_blank'>".substr($item,0,-4)."</a>"); И всё это чудо юзер открывает в новом окне... Из которого уже недоступна навигация(неужели мне во все htm придётся на ssi вставлять исполняемый код на php?)
![Shocked](images/smiles/icon_eek.gif) |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Scaramouch
Зарегистрирован: 11.01.2004 Сообщения: 143 Откуда: Столица нашей Родины
|
Добавлено: Вт Авг 03 2004 16:33 Заголовок сообщения: что нибудь вроде |
|
|
Код: | $html_page=preg_replace('/([^."\'=]*)\.gif/s',$path.'\\1.gif',$html_page); |
конечно, наверняка поправить надо выражение, не тестил![Smile](images/smiles/icon_smile.gif) _________________ Ноги - это две лишние руки. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Marmota Bobak
Зарегистрирован: 28.07.2004 Сообщения: 68
|
Добавлено: Вт Авг 03 2004 17:44 Заголовок сообщения: |
|
|
вопрос корректен =)
когда я столкнулся с подобной проблемой, то стал передавать от страницы к странице переменную, равную уровню вложенности файла. Потом добавил функцию, кот-я генерила строку $str из "../" в соответсвии с уровнем вложенности; а все src-ы у меня выглядели как $str."/bla-bla-bla"
Такая система не боится перестройки структуры - достаточно в одном месте поменять значение уровня вложенности (для удобства можно вообще все эти уровни снести в один массив в отдельный файл и там, в зависимости от изменения структуры, править - а в идеале написать скрипт, который будет прогоняться по всему дереву каталогов и для каждого из файлов проставлять уровень вложенности)
Ну как? гемморой? |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Гость
|
Добавлено: Ср Авг 04 2004 17:50 Заголовок сообщения: Re: что нибудь вроде |
|
|
Scaramouch писал(а): | Код: | $html_page=preg_replace('/([^."\'=]*)\.gif/s',$path.'\\1.gif',$html_page); |
конечно, наверняка поправить надо выражение, не тестил![Smile](images/smiles/icon_smile.gif) |
Да, нужно либо заменять теги в HTML-ках на корректные , но на мой взгляд это извращение.
Либо использовать вместо HTML странички на PHP, а там уже можно что угодно наворотить |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
|