2012-07-02 22 views
2

如何在覆蓋任何現有文件的同時上傳文件,將其移至目錄並保留文件名?在Zend Framework中。在Zend Framework中覆蓋上傳的文件

這維持了TMP文件名(如php3382.tmp)

$adapter = new Zend_File_Transfer_Adapter_Http(); 
$adapter->setDestination('data/'); 
$adapter->addFilter('Rename', array(
    'target' => 'data/', 
    'overwrite' => true 
)); 

$adapter->receive(); 

,這不會覆蓋

$adapter = new Zend_File_Transfer_Adapter_Http(); 
$adapter->setDestination('data/'); 
$adapter->receive(); 

回答

1

試試這個:

... 

$adapter->addFilter('Rename', array('overwrite'=> true, 
            'target'=> sprintf('data/%s', 
                 $adapter->getFileName()), 
            )); 
$adapter->receive(); 

.... 
+0

謝謝您的回答。但爲什麼你用'.'分裂,只是爲了再次加入他們呢?此外,如果有多個點,我認爲這將失敗 – Znarkus

+0

@Znarkus我的客戶的一部分代碼在我的示例中缺失(它來自某些生產代碼) - 我可能在擴展或文件名之前做了一些事情重寫文件。是的,當然有更好的方法來獲取文件名和擴展名。無論如何,我會重寫這個例子。 – yentsun