我很难让我的网络应用程序正常运行。我一直试图让我的头像不被推动,并在上传时自动调整大小。我不是最好的PHP因此我不能自己做这个。如果有人可以帮助我,我将不胜感激。这是化身的文件代码。
祝你好运!
if (isset($_FILES['myfile']) && !empty($_FILES['myfile']['name'])) {
$name = $_FILES['myfile']['name'];
$tmp_name = $_FILES['myfile']['tmp_name'];
$allowed_ext = array('jpg', 'jpeg', 'png', 'gif' );
$a = explode('.', $name);
$file_ext = strtolower(end($a)); unset($a);
$file_size = $_FILES['myfile']['size'];
$path = "avatars";
if (in_array($file_ext, $allowed_ext) === false) {
$errors[] = 'Image file type not allowed';
}
if ($file_size > 2097152) {
$errors[] = 'File size must be under 2mb';
}
} else {
$newpath = $user['image_location'];
}
答案 0 :(得分:0)
您需要在网络服务器上存储已上传的图片
为此:
你需要:
为了调整大小,你可以使用:
如下:
function resizeIMG($o_img // original image
, $target_image // Resized New Image
, $newWidth, $newHeight){
// Get Original Dimensions as follows:
$original_width=imagesx($o_image); //Returns width of image
$original_height=imagesy($o_image); //Returns height of image
$tmp = imagecreatetruecolor($newWidth, $newHeight); // Create New temp. image with new dimensions
imagecopyresampled($tmp_img, $o_img, 0, 0, 0, 0, $newWidth, $newHeight, $original_width, $original_height); // Resize original image to temporary Image
imagejpeg($tmp, $target_image, $quality); // Copy temp Image to Target File for JPG images
imagedestroy($tmp); // Destroy Temporary Image.
/* Use
imagepng() instead of imagejpeg() for PNG images
imagegif() instead of imagejpeg() for GIF images
*/
}
对于提到的所有这些功能,您需要为您的php启用gd_drivers
。只需在行;
之前移除extension=php_gd2.dll
,如果您正在使用窗口,或在其他人看到this。
或者您可以将image_magick
用于php。
还要查看:Resize images in PHP without using third-party libraries?
希望它有所帮助..欢呼:)。