MINI
C:
/
siak
/
app
/
ktpel
/
Upload File:
files >> C:/siak/app/ktpel/upload_foto.php
<?php $nik = isset($_POST['nik']) ? trim($_POST['nik']) : ''; if (!preg_match('/^[0-9]{16}$/', $nik)) { die('NIK tidak valid.'); } if (!isset($_FILES['foto'])) { die('Foto belum dipilih.'); } $file = $_FILES['foto']; if ($file['error'] !== UPLOAD_ERR_OK) { die('Upload foto gagal.'); } $allowed = array( 'image/jpeg', 'image/jpg', 'image/png' ); if (!in_array($file['type'], $allowed)) { die('Format foto harus JPG atau PNG.'); } if ($file['size'] > 5 * 1024 * 1024) { die('Ukuran foto maksimal 5 MB.'); } $folder = __DIR__ . '/uploads/foto/'; if (!is_dir($folder)) { mkdir($folder, 0777, true); } $target = $folder . $nik . '.jpg'; /* * Simpan JPEG */ $imageInfo = getimagesize($file['tmp_name']); if (!$imageInfo) { die('File bukan gambar yang valid.'); } switch ($imageInfo[2]) { case IMAGETYPE_JPEG: $image = imagecreatefromjpeg( $file['tmp_name'] ); break; case IMAGETYPE_PNG: $image = imagecreatefrompng( $file['tmp_name'] ); break; default: die('Format gambar tidak didukung.'); } if (!$image) { die('Gagal membaca gambar.'); } /* * Resize maksimum */ $width = imagesx($image); $height = imagesy($image); $maxWidth = 600; $maxHeight = 800; $ratio = min( $maxWidth / $width, $maxHeight / $height, 1 ); $newWidth = (int)($width * $ratio); $newHeight = (int)($height * $ratio); $newImage = imagecreatetruecolor( $newWidth, $newHeight ); imagecopyresampled( $newImage, $image, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height ); imagejpeg( $newImage, $target, 90 ); imagedestroy($image); imagedestroy($newImage); header( 'Location: index.php?nik=' . urlencode($nik) ); exit;
Copyright ©2021 || Defacer Indonesia