It is possible and easy too doing in PHP. However there are 3 functionalities you are asking here
- Uploading Multiple Files
- Zip the files
- Rename files
Each one is different solutions, My code may need to change according to your variables,
The zip utility link you can see for the details. Also you can get number of posts in Stackoverflow for each of your tasks like, Zip files
PHP ZIP files on the fly
Upload multiple files
Upload two files at once
Upload
<?
$file_name1 = $_FILES['fsheet']['name'];
$file_name1 = stripslashes($file_name1);
$file_name1 = str_replace("'","",$file_name1);
$copy = copy($_FILES['fsheet']['tmp_name'],$file_name1);
// prompt if successfully copied
if($copy){
echo "$file_name1 | uploaded sucessfully!<br>";
}else{
echo "$file_name1 | could not be uploaded!<br>";
}
$file_name2 = $_FILES['report']['name'];
$file_name2 = stripslashes($file_name2);
$file_name2 = str_replace("'","",$file_name2);
$copy = copy($_FILES['report']['tmp_name'],$file_name2);
// prompt if successfully copied
if($copy){
echo "$file_name2 | uploaded sucessfully!<br>";
}else{
echo "$file_name2 | could not be uploaded!<br>";
}
?>
** Zip **
First get download the zip utility class from
http://www.phpclasses.org/browse/file/9524.html
<?php
$directoryToZip="secret"; //
$outputDir = $_POST['rootfolder'];
//$outputDir="$folder"; //Replace "/" with the name of the desired output directory.
$zipName="backup.zip";
include_once("zip/CreateZipFile.inc.php");
$createZipFile=new CreateZipFile;
/*
// Code to Zip a single file
$createZipFile->addDirectory($outputDir);
$fileContents=file_get_contents($fileToZip);
$createZipFile->addFile($fileContents, $outputDir.$fileToZip);
*/
//Code toZip a directory and all its files/subdirectories
$createZipFile->zipDirectory($directoryToZip,$outputDir);
$fd=fopen($zipName, "wb");
$out=fwrite($fd,$createZipFile->getZippedfile());
fclose($fd);
$msg = "Files backup successfully";
//$createZipFile->forceDownload($zipName);
$trgtName = date("F-Y-h-i-s"). ".zip";
copy ($zipName,$outputDir."/".$trgtName);
@unlink($zipName);
?>