2012-02-20 2 views
0

誰かが複数のファイルを受け取ってフォルダや名前をmysqlテーブルに保存するという実例を知っていますか?いくつかの日はすでに運がない、何かがいつも不足していて、それらの質問を入れる前に、まあ、私は正しいものを見つけることができます!Zend_Form_Element_File複数ファイルのアップロードとmysql

多分? 私は、Zendに1.11

感謝 パブロを使って勉強してい

EDIT:コントローラで

$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

を交換してみてください一意の名前付きのzfファイルとhttp://ahsangill.wordpress.com/2009/02/17/複数のファイルをフォームからzend-framework-zf-stored-uploaded-zf-files zend-framework-file-upload-zend_form_element_file /とhttp://irmantasplius.blogspot.com/2009/08/zendform-multiple-file-uploads.htmlを使用したアップロード – Gordon

答えて

1
形で :私は鮮明ためのコードを追加します

の代わりにsetFilters()を使うべきだと思います現在のコードはforeachループの各反復で新しい名前変更フィルターを追加するため、アダプターでは0になります。

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

をモナの答えから

$adapter->setFilters(array(new Zend_Filter_File_Rename(array('target'=>UPLOADDIR.$fileName, 'overwrite'=>true)))); 
関連する問題