|
|
|
| Привет всем!
Помогите со скриптом. Во общем использую данный скрипт для кеширования картинок при рендеринге карты из ГИС сервера. Скрипт проверяет есть ли запрашиваемый файлик на диске, если есть то считывает его и с помощью Openlayers отрисовывает его в браузере, если нет создает и кидает в каталог:
<?PHP
//echo $_SERVER["QUERY_STRING"];
header("Cache-Control: public");
header("Expires: " . date("r", time() + 3600));
if( file_exists('./WMS-C-Cache/rus/'.($_GET["BBOX"]).'.png') )
{
header("Content-type: image/png");
readfile('./WMS-C-Cache/rus/'.($_GET["BBOX"]).'.png');
}
else
{
$code = file_get_contents('http://myserver.com/fcgi-bin/mapserv.exe?MAP=C:/ms4w/ms4w/apps/maps/rus_vmap0.map&'.$_SERVER["QUERY_STRING"]);
$file = fopen ('./WMS-C-Cache/rus/'.($_GET["BBOX"]).'.png',"w+");
fputs ( $file, $code);
fclose ($file);
header("Content-type: image/png");
readfile('./WMS-C-Cache/rus/'.($_GET["BBOX"]).'.png');
}
?>
|
Результатом является каталог на диске,куда скопом кидаются файлики png 256x256. Затем в браузере складывается большое изображение из мелких "мозайка".
Неудобство в том, что в каталоге тысячи файликов и разобраться в них очень сложно, поэтому нужно чтоб при создании картинок на диске скрипт сортировал картинки по каталогам(допустим по дате или какому нибудь из передаваемых параметров).
Сам я не особо силен в рнр поэтому нужна ваша помощь разобраться. | |
|
|
|
|
|
|
|
для: Silentium
(06.09.2011 в 11:43)
| | Идея понятна, не понятен вопрос. Что вызывает сложность и что нужно сделать? Нужно превратить один большой каталог в несколько или придумать такую систему именования файлов, чтобы их список можно было легко отсортировать по разным критериям, используя разные части имени файла? | |
|
|
|
|
|
|
|
для: cheops
(06.09.2011 в 11:51)
| | Именно так!
Я знаю что в кеш-программах обычно это выглядит как каталог
10-9-8-...-1, где цифры это определеные зумы, при увеличении изображения. Правда остается вопрос насколько это понизит производительность ведь файлики(тайлы) будут вложены по нескольку раз в папках и подпапках | |
|
|
|
|
|
|
|
для: Silentium
(06.09.2011 в 11:43)
| | Я бы посоветовал проверять получаемые значения от пользователя, так как изменив $_GET["BBOX"] можно прочитать не только те файлы который вы ожидаете. | |
|
|
|