Upload multi file dengan menggunakan zend framework 1

Upload file merupakan salah satu proses di dalam dunia web, berikut merupakan contoh script php untuk upload multi file dengan menggunakan framework zend 1. bagi yang tidak menggunakan framework ini, anda bisa skip.

// init upload file value
$file_1 = ”;
$file_2 = ”;
$file_3 = ”;
$file_4 = ”;

$upload = new Zend_File_Transfer_Adapter_Http();
// Limit the extensions to jpg and png files but use array notation
$upload->addValidator(‘Extension’, false, array(‘png’, ‘jpg’, ‘bmp’, ‘pdf’, ‘zip’, ‘rar’));
$adapter->addValidator(‘Size’, false, 3024000); // limit to 3 Mb

// set dest
$upload->setDestination(APPLICATION_PATH. “/../public/uploads/”);
$files = $upload->getFileInfo();

// init array info name
$arrInfoNames = array();

foreach($files as $file => $fileInfo) {

if ($upload->isUploaded($file)) {

if ($upload->isValid($file)) {
//
$info = $upload->getFileInfo($file);

// jika nama file sama dengan nama sebelumnya
// file akan dianggap sama dengan file sebelumnya
if(!in_array($info[$file][‘name’], $arrInfoNames)) {

// rename
$arrFileName = explode(‘.’,$info[$file][‘name’]);
$file_name = $this->view->SetToURI(
strtolower($arrFileName[0])) . ‘.’ . $arrFileName[1];
$file_name = date(“Ymdhis”) . rand() . “-” . $file_name;
$upload->addFilter(‘Rename’,
APPLICATION_PATH . “/../public/uploads/” . $file_name);

// And then we call receive manually
$upload->receive($file);

// simpan nama file di array info
// untuk pengecekan duplikasi nama file
$arrInfoNames[] = $info[‘name’];

// set value table
if(array_key_exists(‘file_1’, $info))
$file_1 = $file_name;
if(array_key_exists(‘file_2’, $info))
$file_2 = $file_name;
if(array_key_exists(‘file_3’, $info))
$file_3 = $file_name;
if(array_key_exists(‘file_4’, $info))
$file_4 = $file_name;

}

}
}
}

pada contoh di atas, file yang bisa diupload adalah 4 file, jika ingin lebih banyak lagi file yang akan diupload anda bisa edit kode diatas dan tambahkan file uploadnya. wassalam.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s