I am using the following jQuery file upload plugin to upload image files and resize it it is working fine in localhost.
While trying it in server i am receiving error:
["pamela.jpg"]{"jquery-upload-file-error":"Image file could not be found!"}
My code is as follows:
<?php
$output_dir = "../images/img_user/";
if(isset($_FILES["file"]) && !empty($_FILES["file"]))
{
$ret = array();
$error =$_FILES["file"]["error"];
if(!is_array($_FILES["file"]["name"])) //single file
{
$fileName = $_FILES["file"]["name"];
move_uploaded_file($_FILES["file"]["tmp_name"],$output_dir.$fileName);
//img resize
require 'imgclass.php';
$resize_image = new Zebra_Image();
$resize_image->preserve_aspect_ratio = true;
$resize_image->source_path = $output_dir.$fileName;
$ext = trim("$fileName");
$resize_image->target_path = '../images/img_user/'.$ext;
if (!$resize_image->resize(128, 128, ZEBRA_IMAGE_NOT_BOXED, 1))
{
// if there was an error, let's see what the error is about
switch ($resize_image->error) {
case 1:
$custom_error= array();
$custom_error['jquery-upload-file-error']="Image file could not be found!";
echo json_encode($custom_error);
die();
case 2:
$custom_error= array();
$custom_error['jquery-upload-file-error']="Image file is not readable!";
echo json_encode($custom_error);
die();
case 3:
$custom_error= array();
$custom_error['jquery-upload-file-error']="Could not write target file!";
echo json_encode($custom_error);
die();
case 4:
$custom_error= array();
$custom_error['jquery-upload-file-error']="Unsupported image file format!";
echo json_encode($custom_error);
die();
case 5:
$custom_error= array();
$custom_error['jquery-upload-file-error']="Unsupported target file format!";
echo json_encode($custom_error);
die();
case 6:
$custom_error= array();
$custom_error['jquery-upload-file-error']="GD library version does not support target file format!";
echo json_encode($custom_error);
die();
case 7:
$custom_error= array();
$custom_error['jquery-upload-file-error']="GD library is not installed!";
echo json_encode($custom_error);
die();
}//end switch
}//end resize error
//end resize
$ret[]= $fileName;
}
echo json_encode($ret);
}
?>
Seems like it is trying to resize the image before the whole file gets uploaded from local desktop to server. How can we ensure that resizing is done only after the whole file gets uploaded?? Seems like that is the issue as it is working fine in localhost. Help requested from experts.