| Image Upload Issues copying to the wrong folder |
beaudeal

msg:3281267 | 3:17 am on Mar 14, 2007 (gmt 0) | Hi, I have an image upload script that is in the root folder. I want the script to copy images to "/photos/image.jpg" -- "photos" is a directory that I have in the root. The problem is that I am using the PHP function imagecopyresampled but it doesn't appear to have a place to copy the image to a specified location. If you have any ideas, let me know! Thanks!
|
eelixduppy

msg:3281587 | 12:45 pm on Mar 14, 2007 (gmt 0) | Are you getting any errors from the script? If so, could you please post the error with the corresponding line. It seems that you aren't using imagecopyresampled [us2.php.net] correctly. you must have an image link resource as the destination, and not a specific file. Look at some of the examples at the documentation to get a better understanding. I believe this is where your error lies. Good luck! :)
|
beaudeal

msg:3282149 | 9:41 pm on Mar 14, 2007 (gmt 0) | Thanks for posting, but the problem is that it is not throwing an error. It simply puts the file into the root folder. Here is the code: <?php $valid_file = $_FILES['profile_image']['tmp_name']; $file_type = $_FILES['profile_image']['type']; $file_size = $_FILES['profile_image']['size']; if(validateFileType($file_type) === true && validateFileSize($file_size) === true && fileExists($valid_file) === true) { $file_ext = returnExtension($file_type); $file_name = md5($uid).$file_ext; $thumb_name = md5($uid).'-thumb'.$file_ext; $file_location = "/".$file_name; $thumb_location = "/".$thumb_name; if($user_row['image'] == $file_name) { unlink($file_location); } if($user_row['thumbnail'] == $thumb_name) { unlink($thumb_location); } $original_size = getimagesize($valid_file); $original_width = $original_size[0]; $original_height = $original_size[1]; $new_height = resizeImage($valid_file, "height"); $new_width = resizeImage($valid_file, "width"); $thumb_height = createThumbnail($valid_file, "height"); $thumb_width = createThumbnail($valid_file, "width"); $new_image = imagecreatetruecolor($new_width, $new_height); $thumb_image = imagecreatetruecolor($thumb_width, $thumb_height); $src_image = imagecreatefromjpeg($valid_file); imagecopyresampled($new_image, $src_image, 0, 0, 0, 0, $new_width, $new_height, $original_width, $original_height); imagecopyresampled($thumb_image, $src_image, 0, 0, 0, 0, $thumb_width, $thumb_height, $original_width, $original_height); imagejpeg($new_image, $file_name); imagejpeg($thumb_image, $thumb_name); $upload_query = "UPDATE user SET image = '$file_name', thumbnail = '$thumb_name' WHERE uid = '$uid'"; $upload_result = mysql_query($upload_query) or die(mysql_error()); header("Location: /editprofile.php"); exit(); } ?>
all of the "validate" functions are working properly as well as the functions that create thumbnails (gets the size) and resize images. I just don't know how to get it into the "photos" folder. Thanks!
|
PSWorx

msg:3282199 | 10:12 pm on Mar 14, 2007 (gmt 0) | You could always try the copy() function altho unsure of its applicability in this situation: $imageDIR = 'new/location/of/image/including/final/slash/'; $_FILES['filevar']['name'] = 'new name for picture.extension'; copy($_FILES['filevar']['tmp_name'], $imageDIR.$_FILES['filevar']['name'])or die("Could not copy"); I use this in conjunction with the script located below and works a treat. Alternatively you could use this, which ive found useful in the past: phpThumbnailer I take it you will have looked on php.net for any related information to the functions you are trying to use. [edited by: eelixduppy at 10:15 pm (utc) on Mar. 14, 2007] [edit reason] no URLs, please - See TOS [/edit]
|
|
|