My upload/crop function is working almost how I want it. Except Im having to refresh my page to show the uploaded image..And then when I delete the image using the delete button futher down my code, I get the following 2 errors showing in my header. And the upload form doesn't show up again unless I refresh the page, then the following errors dissapear from view until I delete the uploaded image again.
Here is the two errors and then the code with the getimagesize functions marked as bold.
Warning: getimagesize(imgs/pic7.jpg) [function.getimagesize]: failed to open stream: No such file or directory in ----- on line 48
Warning: getimagesize(imgs/pic7.jpg) [function.getimagesize]: failed to open stream: No such file or directory in ------ 42
This is the area of the issue with the two errors marked as bold -
$id=$_SESSION['id'];
$upload_dir = "imgs"; // The directory for the images to be saved in
$upload_path = $upload_dir."/"; // The path to where the image will be saved
$large_image_name = "pic".$id.".jpg"; // New name of the large image
$thumb_image_name = "cropped".$id.".jpg";
$max_file = "1148576"; // Approx 1MB
$max_width = "500"; // Max width allowed for the large image
$thumb_width = "100"; // Width of thumbnail image
$thumb_height = "100"; // Height of thumbnail image
//Image functions
//You do not need to alter these functions
function resizeImage($image,$width,$height,$scale) {
$newImageWidth = ceil($width * $scale);
$newImageHeight = ceil($height * $scale);
$newImage = imagecreatetruecolor($newImageWidth,$newImageHeight);
$source = imagecreatefromjpeg($image);
imagecopyresampled($newImage,$source,0,0,0,0,$newImageWidth,$newImageHeight,$width,$height);
imagejpeg($newImage,$image,90);
chmod($image, 0777);
return $image;
}
//You do not need to alter these functions
function resizeThumbnailImage($thumb_image_name, $image, $width, $height, $start_width, $start_height, $scale){
$newImageWidth = ceil($width * $scale);
$newImageHeight = ceil($height * $scale);
$newImage = imagecreatetruecolor($newImageWidth,$newImageHeight);
$source = imagecreatefromjpeg($image);
imagecopyresampled($newImage,$source,0,0,$start_width,$start_height,$newImageWidth,$newImageHeight,$width,$height);
imagejpeg($newImage,$thumb_image_name,90);
chmod($thumb_image_name, 0777);
return $thumb_image_name;
}
//You do not need to alter these functions
function getHeight($image) {
**$sizes = getimagesize($image);**
$height = $sizes[1];
return $height;
}
//You do not need to alter these functions
function getWidth($image) {
**$sizes = getimagesize($image);**
$width = $sizes[0];
return $width;
}
Calling getimagesize($image)
on deleted image of course should give you error. Check if file exists before calling getimagesize($image)
with file_exists($file_path)
function.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.