我使用以下代码创建图像缩略图。它适用于JPG& JPEG图像,但不适用于PNG图像缩略图。
$id = $_POST['mid'];
$previousImage = $_POST["oldImage"];
$imgSize = $_FILES['profile_image']['size'];
//call thumbnail creation function and store thumbnail name
$upload_img = cwUpload('profile_image',$mat_upload_dir,'',TRUE,$mat_upload_dir_thumb,'200','200');
//full path of the thumbnail image
$thumb_src = $mat_upload_dir_thumb.$upload_img;
$query="update tbl_matrimony set image='".$upload_img."' where id='".$id."'";
$res = mysql_query($query) or die(mysql_error());
if ($res)
{
echo "Image Uploaded";
}
else
{
echo "Error occurred";
}
}
function cwUpload($field_name = '', $target_folder = '', $file_name = '', $thumb = FALSE, $thumb_folder = '', $thumb_width = '', $thumb_height = ''){
//folder path setup
$target_path = $target_folder;
$thumb_path = $thumb_folder;
//file name setup
$filename_err = explode(".",$_FILES[$field_name]['name']);
$filename_err_count = count($filename_err);
$file_ext = $filename_err[$filename_err_count-1];
if($file_name != '')
{
$fileName = $file_name.'.'.$file_ext;
}
else
{
$fileName = $_FILES[$field_name]['name'];
}
//upload image path
$upload_image = $target_path.basename($fileName);
//upload image
if(move_uploaded_file($_FILES[$field_name]['tmp_name'],$upload_image))
{
unlink($mat_upload_dir.$previousImage);
//thumbnail creation
if($thumb == TRUE)
{
$thumbnail = $thumb_path.$fileName;
list($width,$height) = getimagesize($upload_image);
$thumb_create = imagecreatetruecolor($thumb_width,$thumb_height);
switch($file_ext){
case 'jpg':
$source = imagecreatefromjpeg($upload_image);
break;
case 'jpeg':
$source = imagecreatefromjpeg($upload_image);
break;
case 'png':
$source = imagecreatefrompng($upload_image);
break;
case 'gif':
$source = imagecreatefromgif($upload_image);
break;
default:
$source = imagecreatefromjpeg($upload_image);
}
imagecopyresized($thumb_create,$source,0,0,0,0,$thumb_width,$thumb_height,$width,$height);
switch($file_ext){
case 'jpg' || 'jpeg':
imagejpeg($thumb_create,$thumbnail,100);
break;
case 'png':
imagepng($thumb_create,$thumbnail,100);
break;
case 'gif':
imagegif($thumb_create,$thumbnail,100);
break;
default:
imagejpeg($thumb_create,$thumbnail,100);
}
}
return $fileName;
}
else
{
return false;
}
}
?>
答案 0 :(得分:0)
尝试为大写PNG添加一个案例。像这样:
var dataTable = $('#employee-grid').DataTable({
"processing": true,
"serverSide": true,
"ajax": {
url: "employee-grid-data.php", // json datasource
type: "post", // method , by default get
error: function () { // error handling
$(".employee-grid-error").html("");
$("#employee-grid").append('<tbody class="employee-grid-error"><tr><th colspan="3">No data found in the server</th></tr></tbody>');
$("#employee-grid_processing").css("display", "none");
}
}
});
$('#min').keyup(function(){
dataTable.search($(this).val()).draw() ;
})
和
case 'PNG':
$source = imagecreatefrompng($upload_image);
break;