michaellunsford Posted April 20, 2006 Share Posted April 20, 2006 Okay, here's a fun challenge. Users are uploading files of who knows what resolution. I am resizing them in PHP, but instead of dumping them to a file on the hard drive, i want to put them in a database.At first I thougth this was very simple, but it appears that imagejpeg, imagegif, imagepng, etc, only dumps directly to a browser or file -- it won't return the image as a string. I've also tried referring to the image pointer [code]$im=imagecreatefromstring(file_get_contents($_FILES['userfile']['tmp_name']));... resize image ...mysql_query("INSERT INTO `table` (`image`) VALUES ('".mysql_real_escape_string($im)."')");[/code] without successIt looks like I will need to write the image to a file, then reload the file using file_get_contents. Is there a shorter method?Thanks! Link to comment https://forums.phpfreaks.com/topic/7999-how-to-create-string-from-image/ Share on other sites More sharing options...
AndyB Posted April 20, 2006 Share Posted April 20, 2006 Use blob as the data type.Example script - [a href=\"http://www.wellho.net/solutions/php-example-php-form-image-upload-store-in-mysql-database-retreive.html\" target=\"_blank\"]http://www.wellho.net/solutions/php-exampl...e-retreive.html[/a] Link to comment https://forums.phpfreaks.com/topic/7999-how-to-create-string-from-image/#findComment-29174 Share on other sites More sharing options...
michaellunsford Posted April 20, 2006 Author Share Posted April 20, 2006 The database works great if I don't resize the images (using mediumblob for the data type). The problem arises when I resize the images to 640x480. I can display or save the image to the hard drive -- but I'm having difficulty injecting it into mysql.Once I've captured and resized the file, I could save it to the hard drive, then reopen it using file_get_contents() -- but that seems like a really long way around.Looking for the right shortcut.Thanks! Link to comment https://forums.phpfreaks.com/topic/7999-how-to-create-string-from-image/#findComment-29182 Share on other sites More sharing options...
michaellunsford Posted April 21, 2006 Author Share Posted April 21, 2006 update:I have applied the workaround -- which works great. PHP is now creating a temporary image in the /tmp/ folder, then reimporting it using file_get_contents. If anyone knows of a way to remove this step, they would be my hero.[code]$im=imagecreatefromstring(file_get_contents($_FILES['userfile']['tmp_name']));... resize image ...imagepng($im,"/tmp/tempimage.png");mysql_query("INSERT INTO `table` (`image`) VALUES ('".mysql_real_escape_string(file_get_contents("/tmp/tempimage.png"))."')");[/code] Link to comment https://forums.phpfreaks.com/topic/7999-how-to-create-string-from-image/#findComment-29209 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.