'/var/www/html/app_ad.png', 'app_ad' => '/var/www/html/app_ad.png', 'app_logo' => '/var/www/html/app_logo.png' ]; $secondary_dir = '/var/www/encoder/'; $errors = []; // Handle File Uploads foreach ($upload_paths as $input_name => $destination) { if (isset($_FILES[$input_name]) && $_FILES[$input_name]['error'] == 0) { $tmp_path = $_FILES[$input_name]['tmp_name']; // 1. Verify it is actually a PNG using GD/getimagesize $image_info = @getimagesize($tmp_path); if (!$image_info || $image_info[2] !== IMAGETYPE_PNG) { $errors[] = "File for $input_name must be a valid PNG image."; continue; } // 2. Determine target dimensions // Logo: 512x512, Ad: 1080x1080 $target_width = 1080; $target_height = 1080; if ($input_name === 'app_logo') { $target_width = 512; $target_height = 512; } // 3. Load the source image $src_img = @imagecreatefrompng($tmp_path); if (!$src_img) { $errors[] = "Failed to process $input_name (Invalid PNG data)."; continue; } // 4. Create a blank truecolor canvas for the new size $dst_img = imagecreatetruecolor($target_width, $target_height); // 5. Preserve transparency for PNG imagealphablending($dst_img, false); imagesavealpha($dst_img, true); $transparent = imagecolorallocatealpha($dst_img, 255, 255, 255, 127); imagefill($dst_img, 0, 0, $transparent); // 6. Resize (Resample) using interpolation for high quality imagecopyresampled( $dst_img, $src_img, 0, 0, 0, 0, $target_width, $target_height, imagesx($src_img), imagesy($src_img) ); // 7. Save to primary destination with compression (level 7) if (imagepng($dst_img, $destination, 7)) { // Create a copy in the encoder directory (/var/www/encoder/) $filename = basename($destination); $secondary_destination = $secondary_dir . $filename; if (!copy($destination, $secondary_destination)) { $errors[] = "Failed to create secondary copy for $input_name in encoder folder."; } } else { $errors[] = "Failed to save processed $input_name."; } // 8. Free memory imagedestroy($src_img); imagedestroy($dst_img); } } // Handle Text Fields $text_fields = [ 'channel_name', 'office_address', 'contact_details', 'enforcement_officer', 'eo_contact_details', 'company_name', 'cin_number', 'gstin_number' ]; $data_to_save = []; foreach ($text_fields as $field) { $data_to_save[$field] = $_POST[$field] ?? ''; } // Save if no errors occurred if (empty($errors)) { file_put_contents($json_file, json_encode($data_to_save, JSON_PRETTY_PRINT)); // Redirect to the same page to refresh the data and clear POST state header("Location: " . $_SERVER['PHP_SELF']); exit; } else { $error_message = implode("
", $errors); } } // --- 2. Load Data for Display --- $saved_data = []; if (file_exists($json_file)) { $json_content = file_get_contents($json_file); $saved_data = json_decode($json_content, true) ?? []; } function getValue($data, $key) { return $data[$key] ?? ''; } // Now we can safely start sending HTML include 'header.php'; ?>

Company Information Entry

Upload Ad (PNG)

Current:

Upload Logo (PNG)

Current: