Introduction, and help request - Mailing list pgsql-php

From Sári Csaba
Subject Introduction, and help request
Date
Msg-id 030c01cc8a4e$7dc8b710$795a2530$@csaba@wishdoo.com
Whole thread Raw
List pgsql-php

Dear Listmembers,

 

First, let me introduce myself: my name is Csaba Sári, and I’m 34 years old freelancer webdeveloper. I have a 3 years old Son, and I live in Hungary, Budapest. My English is not so good, so I apologize for it.

 

I have a project currently, where I have to store images (png, jpg and gif) in Postgre, and it is in PHP5 with Jquery. I’m using EXIF, GD for manipulating images – and everything works well, only allowed type of images could be uploaded, with max 500k size.

 

Unfortunately somebody else has designed the database, and it cannot be modified anymore, and my problem is the following: the images has been stored is bytea field, not like LO. If somebody uploading an image, I have to resize the images for 3 different sizes (it’s a standard $post, then move to a designated location, transform to this sizes):

-          resize the original one for a 50x50px small thumb

-          resize the original one for a 128x128px medium thumb

-          and resize the original one for a 900x900px large thumb (of course if the image is larger than the proper size, if it is smaller I just copy it)

-          extra: there is a ‘cut profile image from the original image’ – like in Facebook – function.

 

After resizing complete, I’m escaping binary with pg_escape_bytea(), INSERT to the table:

[code]

 

pg_query($dbconn, "begin");

                               

                $query = "INSERT INTO users_picturesalbums_pictures

(album_id, title, photo, photo_50, photo_128, photo_900, inocent, photo_name, mimetype, enable_comments)

VALUES

                                                               ('" . $albumid . "', '" . pg_escape_string($title) . "', E'" . $pic_origin . "', E'" . $pic_50 . "', E'" . $pic_128 . "', E'" . $pic_900 . "','" . $inocent . "','" . pg_escape_string($name) . "','" . $mimetype . "','" . $enablecomments . "');";

                                              

                $result = pg_query($dbconn, $query);

                                                              

                pg_query($dbconn, "commit");

 

[/code]

 

After this transaction is complete, I delete the temporary files, everything seems fine – BUT the image in the table looks like broken. When I want to display it, sometimes the small one (50x50), or the medium one (128x128) looks like, which is broken at the half of the image upload, or ¾ of the image upload. I checked the temporary files before I delete it, they are ok, so the problem is not with the image manipulation.

 

I’ve try to tune the PostgreSQL conf (larger mem, workmem, buffers etc.), php.ini, apache, but always the same result: sometimes upload is ok, sometimes the upload broke. And I don’t know what did I wrong, or what else can I set.

 

If you have any suggestion, advice, experience please send me.

 

Thank you in advance,

 

Kind regards,

Csaba

pgsql-php by date:

Previous
From: Mark Kirkwood
Date:
Subject: Re: pdo emulate prepares not working. still getting parse-bind-execute-deallocate in pg log
Next
From: Chris
Date:
Subject: Re: Introduction, and help request