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. Quote 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. Quote 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. Quote 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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.