Криэйт и вставка картинок on-the-fly.

camka

не самка
Криэйт и вставка картинок on-the-fly.

Аплоажу картинку.
Создаю тхамбнэйл.
Код:
ImageCopyResized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,$old_w,$old_h);
Сливаю всё в файл.
Код:
ImageJpeg($dst_img,$thfile);
Инсэрчу в базу.
Код:
     $f2=fopen($thfile,"rb");
     $thupload=fread($f2,filesize($thfile));
     $thupload=addslashes($thupload);
     $str="INSERT INTO picture2 (thumb) VALUES ('$thupload');";
Есть ли способ, без промежуточного создания временного файла? Сразу с разбегу и в базу.

спасибо
 

Demiurg

Guest
выводи файл, в output, и лови контент через функции ob_*
 

camka

не самка
мудро. получилось.
вопрос: как это сказывается на скорости работы?
 

Demiurg

Guest
IMHO, почти никак, просто перенаправляется воток, и все.
Ты бы лучше задумался о скорорсти работы при хранении картинок в базе.
 

camka

не самка
blin, cirilic ne pashet. prostite.

vopros to v sedushem. output bufer eto oblast' pamjati ili eto oblast' na diske? jesli v pamjati to ja dumaju chto dolzhno togda na skorosti otrazitsja v polozhitel'nuju storonu. failik ne nado sozdavat'.
 

Barlone

Guest
Складывать в базу во много раз медленнее, чем создавать файлик. Так что какая разница, будет или не будет на 1% быстрее.
 

camka

не самка
блин, у меня чтото есть подозрения по поводу секюрити при хранении картинок в директориях. может я неправ?
 

Ямерт

The Old One
"Криэйт", "тхамбнэйл", "инсэрчу", "аплоажу"...
Однако, великий и могучий русский язык :)
 

camka

не самка
kak zashitit' papki s failami? pust' dazhe oni nazyvajutsja kakim-to randomnym imenem. vsjoravno dostup to k nim dolzhen byt' dlja guesta, a znachit mozhna tuda zabratsja i prosto nabrav v browsere put'.

ili ja chego to nedoponimaju?
 

boka

Guest
Защити при помощи .htaccess, чтобы директорию не светить. Или пустой index.htm клади.
 

aloner

Guest
Картинки в базе полезно хранить, с точки зрения управляемости. Только с ними надо хранить время модификации, а при выводе ложить в кеш в каталоге и touch()ить с этим временем. (это где-то 50 строк кода)

Ну и заголовки правильно выдавать с датой модификации. (5 строк)

Тогда будет тебе щасце.

P.S. _всегда_ ставьте в конфиг Апача или .htacces врхнего уровня "Options -Includes -ExecCGI -Indexes" - будет еще больше щасця. :)
 

camka

не самка
как работает защита на уровне .htaccess'а? Я так понимаю, что скрипт запускается от НОБАДИ. А как тогда сделать доступ к файлам в защищенной директории для данного скрипта?

P.S.: Я совсем плох, если я считаю что при обращении к файлу защищенному htaccess'ом тебе шлётся header("WWW-Authenticate: Basic realm=\"My Realm\"");
 

makRo

Guest
Автор оригинала: camka
P.S.: Я совсем плох, если я считаю что при обращении к файлу защищенному htaccess'ом тебе шлётся header("WWW-Authenticate: Basic realm=\"My Realm\"");
Вот такой ответ сервера при заходе в директорию
.............
HTTP/1.1 401 Authorization Required
Date: Thu, 22 Aug 2002 10:39:38 GMT
Server: Apache/1.3.26 (Unix) PHP/4.2.2 rus/PL30.15
WWW-Authenticate: Basic realm="Administration"
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1

1d5
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>401 Authorization Required</TITLE>
</HEAD><BODY>
<H1>Authorization Required</H1>
This server could not verify that you
are authorized to access the document
requested. Either you supplied the wrong
credentials (e.g., bad password), or your
browser doesn't understand how to supply
the credentials required.<P>
<HR>
<ADDRESS>Apache/1.3.26 Server at www.....ru Port 80</ADDRESS>
</BODY></HTML>

0
............................
 

camka

не самка
а как же тогда дать права скрипту использовать защищенный файл?
 
Сверху