open($zipFile, ZipArchive::CREATE) === TRUE) {
$zip->addFile($filePath, basename($filePath));
$zip->close();
return $zipFile;
}
return false;
}
// Function to decompress file
function decompressFile($filePath) {
$zip = new ZipArchive();
$extractDir = pathinfo($filePath, PATHINFO_FILENAME);
if ($zip->open($filePath) === TRUE) {
$zip->extractTo($extractDir);
$zip->close();
return $extractDir;
}
return false;
}
// Initialize variables
$action = '';
$fileName = '';
$feedback = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_FILES['file'])) {
$fileName = $_FILES['file']['name'];
$fileTmp = $_FILES['file']['tmp_name'];
$action = $_POST['action'];
if ($action === 'compress') {
// Compress file
$compressedFile = compressFile($fileTmp);
if ($compressedFile) {
$feedback = 'File compressed successfully: Download Zip';
} else {
$feedback = 'Error compressing the file.';
}
} elseif ($action === 'decompress') {
// Decompress file
$decompressedDir = decompressFile($fileTmp);
if ($decompressedDir) {
$feedback = 'File decompressed successfully. Extracted files: View Files';
} else {
$feedback = 'Error decompressing the file.';
}
}
}
}
?>
File Compressor/Decompressor Tool
File Compressor/Decompressor
Compress or decompress your files with ease. Simply upload a file and choose an action.