|
|
|
Лови..
^var[fullpath;/path/k/twoim/failam/na/servere/] ^context[sql;
^server[юзер:пароль@база/pictures;
^sql[DROP TABLE IF EXISTS pictures]
^sql[CREATE TABLE pictures (
name varchar(255) DEFAULT '' NOT NULL,
width int(3) unsigned DEFAULT '0' NOT NULL,
height int(3) unsigned DEFAULT '0' NOT NULL
space int(3) unsigned DEFAULT '0' NOT NULL)]
]
#тут заканчивается контекст sql
] ^context[mypictures;
^index[pictures;\.(gif|jpg)$]
^menu[^var[filename;^item[0]] записываем во временную переменную filename имя файла^context[dimensions;
^imgsize[^var[fullpath]^var[filename]]
^var[width;^item[0]]
^var[height;^item[1]]
^var[space;^eval[^item[0]*^item[1]]]
#тут заканчивается контекст dimensions
] .. и выцепляем габариты этого самого файла. Заодно считаем площадь файла в квадратных пикселях (блин, вслушайся, как это звучит - "в квадратных пикселях.." - вот умора..), чтобы затем по ней сортировать.
Затем всё это добро упаковывается в базу. Хотя можно открыть ещё один контекст и писать в него - это как удобнее. Мне удобнее - в базу.^context[sql;
^server[юзер:пароль@база/pictures;
^sql[LOCK TABLES pictures WRITE]
^sql[INSERT INTO pictures (name, width,
height, space) VALUES ('^var[filename]',
'^var[width]', '^var[height]', '^var[space]')]
^sql[UNLOCK TABLES]
]
#тут заканчивается контекст sql
]#тут заканчивается контекст mypictures
] В итоге у нас на руках - аккуратненькая таблица pictures в mysql'ной базе. Юзер нажал на refresh - она обновилась. Тут же можем её прочитать, сортируя по размеру картинок, никто не мешает:<h1>Картинки с выставки:</h1>
^context[sql;
^server[юзер:пароль@база/pictures;
^sql[SELECT name, width, height
FROM PICTURES SORT BY space]
^menu[<p><img src="^item[name]"
width="^item[width]"
height="^item[height]"
alt="" border="0"></p>]
]
#тут заканчивается контекст sql
]P.S. Код я не тестировал, могут быть опечатки. Но работать, по идее, должно...
|