2012-02-20 72 views
0

有沒有人知道一個工作的例子來接收多個文件,將它們存儲在一個文件夾中,並在mysql表中的名稱?有些日子已經沒有運氣了,總是缺少一些東西,在提出這些問題之前,好吧,也許我可以找到合適的問題!Zend_Form_Element_File多文件上傳和mysql

也許? 我使用Zend的1.11

感謝 巴勃羅學習

編輯:形式 :

$element = new Zend_Form_Element_File('images'); 
$element->setLabel('Upload bis 3 Bilder (máx. 200kb each):') 
       ->setMultiFile(3) 
       ->setValueDisabled(true) 
       ->addValidator(new Zend_Validate_File_Size('2MB')) 
       ->addValidator('Count', false, array('min'=>0,'max' => 3)); 
控制器

$adapter = $form->images->getTransferAdapter(); 
//create directory where files would be hold 
if (!file_exists(UPLOADDIR)) 
mkdir(UPLOADDIR, 0777, 1); 

$i=0; 
$images=""; 
//loop uploaded files 

foreach ($adapter->getFileInfo() as $info) 
{  
//rename file how you like and move it to given destination 
$fileName = time().$i.'.'.$this->getExtension($info['name']); 
$adapter->addFilter('Rename', array('target'=>UPLOADDIR.$fileName, 'overwrite'=>true)); 

//if something goes wrong print errors in screen 
if (!$adapter->receive($info['name'])) 
{ 
die(print_r($adapter->getMessages(),1)); 
}else{ 
if ($info['name']!==""){ 
$images .= $fileName.","; 
} 
} 
$i++; 
}     
+0

點評:看看下面的例子http://www.pc-freak.net/blog/tag/uploading -multiple-files-from-a-form-with-zend-framework-zf-storing-uploaded-zf-files-with-unique-name/and http://ahsangill.wordpress.com/2009/02/17/ zend-framework-file-upload-using-zend_form_element_file /和http://irmantasplius.blogspot.com/2009/08/zendform-multiple-file-uploads.html – Gordon 2013-03-02 09:11:00

回答

1
我添加代碼清晰

我認爲你應該使用setFilters()而不是addFilter,因爲當前代碼將在foreach循環的每次迭代中添加一個新的重命名過濾器。

嘗試更換:

$adapter->addFilter('Rename', array('target'=>UPLOADDIR.$fileName, 'overwrite'=>true)); 

$adapter->setFilters(array(new Zend_Filter_File_Rename(array('target'=>UPLOADDIR.$fileName, 'overwrite'=>true)))); 
從蒙娜麗莎的回答