I have a script to resize an uploaded image, but when I use it, it just returns a black square. All error messages are pointing at this function:
function resize
imagecreatetruecolor
succeeded. If the new image is "large" it could exceed the PHP memory_limit. This function returns FALSE if it failed for any reason.imagecreatefromjpeg()
. The two individual images may fit within the memory limit but together could be too large. The source image may also not exist. This function returns FALSE if it failed for any reasonimagecopyresampled()
failed - it also returns FALSE on failure.imagejpeg()
failed - maybe you don't have write permissions on whatever file you're specifying in $image
. And again, this function returns FALSE on failure.According to Marc B's answer you could probably make a check if the file is a JPG file. (JPEG, JPG, jpg, jpeg extensions).
it could be something like:
$file = explode(".", $_POST['file']);
$file_ext = $file[count($file)]; // Get the last thing in the array - in this way the filename can containg dots (.)
$allowed_ext = array('jpg', 'JPG', 'jpeg', 'jpg');
if( in_array($file_ext, $allowed_ext )
{
// The code for creating the image here.
}