$valid = false;
#var_dump( $_FILES);
# nếu file nhỏ hơn 6Mb | 6291456
# phần này tự resize để tránh hack và tiết kiệm băng thông
# Lưu ý : con shell thông thường không có điểm ảnh
# không cho nó up ảnh lằng nhằng @
$size = filesize($_FILES['file']['tmp_name']);
$file_upload = $_FILES["file"]["tmp_name"];
if ($size > MAX_SIZE || $size < 10) {
$valid = false;
// exit('Size ảnh quá lớn ... hoặc quá nhỏ ...');
}
if ($_FILES["file"]["error"] == 1)
exit('Xảy ra lỗi gì đó của server, bạn thử lại ...');
if ( ! $file_upload )
exit('Không có file nào được chọn ...');
$valid_mime_types = array(
"image/gif",
"image/png",
"image/jpeg",
"image/pjpeg",
);
$valid_file_extensions = array(".jpg", ".jpeg", ".gif", ".png");
// Check that the uploaded file is actually an image
// and move it to the right folder if is.
if (in_array($_FILES["file"]["type"], $valid_mime_types)) {
$valid = true;
}
$file_extension = strrchr($_FILES["file"]["name"], ".");
// Check that the uploaded file is actually an image
// and move it to the right folder if is.
if (in_array($file_extension, $valid_file_extensions)) {
$valid = true;
}
if (@getimagesize($_FILES["file"]["tmp_name"]) !== false) {
$valid = true;
}
#
# Function resize chúng nó đi ... cho bé lại ... keke !
#
function jam_img_resize($target, $newcopy, $w, $h, $ext) {
list($w_orig, $h_orig) = getimagesize($target);
$scale_ratio = $w_orig / $h_orig;
if (($w / $h) > $scale_ratio) {
$w = $h * $scale_ratio;
} else {
$h = $w / $scale_ratio;
}
$img = "";
$ext = strtolower($ext);
if ($ext == "gif"){
$img = imagecreatefromgif($target);
} else if($ext =="png"){
$img = imagecreatefrompng($target);
} else {
$img = imagecreatefromjpeg($target);
}
$tci = imagecreatetruecolor($w, $h);
// imagecopyresampled(dst_img, src_img, dst_x, dst_y, src_x, src_y, dst_w, dst_h, src_w, src_h)
imagecopyresampled($tci, $img, 0, 0, 0, 0, $w, $h, $w_orig, $h_orig);
imagejpeg($tci, $newcopy, 84);
// free memory
imagedestroy($tci);
return $newcopy;
}
// kiểm tra nào ...
// nếu hợp lệ
if ( $valid ) {
#jam_img_resize($target, $newcopy, $w, $h, $ext);
$return = jam_img_resize($file_upload , HOST_MEDIA . 'small-' . FILE_NAME . $file_extension, 80, 80, $file_extension);
jam_img_resize($file_upload , HOST_MEDIA . FILE_NAME . $file_extension, 300, 296, $file_extension);
echo $return;
#unlink($file_upload);
}
Bạn nào có kinh nghiệp chỉ cái , cứ up PNG mới bị ...
No comments:
Post a Comment