ZendElementFileを使用して3つのファイルをアップロードしています。ファイルをアップロードして名前を変更しています。ここで問題となるのは、同じ拡張機能をアップロードすると、次のエラーが発生することです。
Zend_Filter_Exception: File 'D:\wamp2\tmp\php2443.tmp' could not be renamed. It already exists.
たとえば、最初のファイルでextenstionoのファイルをアップロード.txt
し、2番目にアップロード.docx
し、3番目にもう一度.txt
またはを選択.docx
すると、上記のエラーが生成されます。
しかし、3つの異なる拡張機能を選択すると、すべてが最適になります。私は次のコードを使用しています
if ($form->med_file_1->isUploaded()) {
$originalFilename = pathinfo($form->med_file_1->getFileName());
$newFilename = time() . '.' . $originalFilename['extension'];
$form->med_file_1->addFilter('Rename', "application_data/uploaded_files/patients/" . $newFilename,$originalFilename['basename']);
$form->med_file_1->receive();
}
if ($form->med_file_2->isUploaded()) {
$originalFilename = pathinfo($form->med_file_2->getFileName());
$newFilename = time() . '.' . $originalFilename['extension'];
$form->med_file_2->addFilter('Rename', "application_data/uploaded_files/patients/" . $newFilename,$originalFilename['basename']);
$form->med_file_2->receive();
}
if ($form->med_file_3->isUploaded()) {
$originalFilename = pathinfo($form->med_file_3->getFileName());
$newFilename = time() . '.' . $originalFilename['extension'];
$form->med_file_3->addFilter('Rename', "application_data/uploaded_files/patients/" . $newFilename,$originalFilename['basename']);
$form->med_file_3->receive();
}