director87 Posted September 6, 2007 Share Posted September 6, 2007 Hola hola. I'm having trouble with receiving the output value from the function upload($image). I want the image path and new image name to be INSERTED into mySQL. The code to upload and resize is not my own, but GNU. function upload($image) { $path_thumbs = "img/miniatura"; $path_big = "img/grande"; $img_thumb_width = 90; $extlimit = "no"; $limitedext = array(".gif",".jpg",".png",".jpeg",".bmp"); if (!is_writeable($path_thumbs)){ die ("Error: The directory <b>($path_thumbs)</b> is NOT writable"); } if (!is_writeable($path_big)){ die ("Error: The directory <b>($path_big)</b> is NOT writable"); } $file_type = $_FILES['imagen']['type']; $file_name = $_FILES['imagen']['name']; $file_size = $_FILES['imagen']['size']; $file_tmp = $_FILES['imagen']['tmp_name']; //check if you have selected a file. if(!is_uploaded_file($file_tmp)){ echo "Error: Please select a file to upload!. <br>--<a href=\"$_SERVER[php_SELF]\">back</a>"; exit(); //exit the script and don't do anything else. } //check file extension $ext = strrchr($file_name,'.'); $ext = strtolower($ext); if (($extlimit == "yes") && (!in_array($ext,$limitedext))) { echo "Wrong file extension. <br>--<a href=\"$_SERVER[php_SELF]\">back</a>"; exit(); } //get the file extension. $getExt = explode ('.', $file_name); $file_ext = $getExt[count($getExt)-1]; //create a random file name $rand_name = md5(time()); $rand_name= rand(0,999999999); //get the new width variable. $ThumbWidth = $img_thumb_width; //keep image type if($file_size){ if($file_type == "image/pjpeg" || $file_type == "image/jpeg"){ $new_img = imagecreatefromjpeg($file_tmp); }elseif($file_type == "image/x-png" || $file_type == "image/png"){ $new_img = imagecreatefrompng($file_tmp); }elseif($file_type == "image/gif"){ $new_img = imagecreatefromgif($file_tmp); } //list width and height and keep height ratio. list($width, $height) = getimagesize($file_tmp); $imgratio=$width/$height; if ($imgratio>1){ $newwidth = $ThumbWidth; $newheight = $ThumbWidth/$imgratio; }else{ $newheight = $ThumbWidth; $newwidth = $ThumbWidth*$imgratio; } //function for resize image. if (function_exists(imagecreatetruecolor)){ $resized_img = imagecreatetruecolor($newwidth,$newheight); }else{ die("Error: Please make sure you have GD library ver 2+"); } imagecopyresized($resized_img, $new_img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); //save image ImageJpeg ($resized_img,"$path_thumbs/$rand_name.$file_ext"); ImageDestroy ($resized_img); ImageDestroy ($new_img); } //upload the big image move_uploaded_file ($file_tmp, "$path_big/$rand_name.$file_ext"); //set output for mySQL $imagen = "$rand_name.$file_ext"; For helps sake I have included my INSERT statement below: $col_img = upload($_POST['image']); $colaborador=$_POST['colaborador']; $insertSQL = sprintf("INSERT INTO colaboraciones (image, colaborador) VALUES ('$col_img', '$colaborador');"); mysql_select_db($database_connect, $connect); $Result1 = mysql_query($insertSQL, $connect) or die(mysql_error()); The frustrating part is that I had this working once! Any and all help appreciated. Thanks. Link to comment https://forums.phpfreaks.com/topic/68175-solved-inserting-output-value-from-function-in-mysql/ Share on other sites More sharing options...
Barand Posted September 6, 2007 Share Posted September 6, 2007 Some of your function appears to missing - the bit that returns the value. Link to comment https://forums.phpfreaks.com/topic/68175-solved-inserting-output-value-from-function-in-mysql/#findComment-342833 Share on other sites More sharing options...
director87 Posted September 6, 2007 Author Share Posted September 6, 2007 I didn't have a return in the function. Duh me Thanks -- it works now. Link to comment https://forums.phpfreaks.com/topic/68175-solved-inserting-output-value-from-function-in-mysql/#findComment-342839 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.