2012-07-02 3 views
2

Comment télécharger un fichier, le déplacer dans un répertoire et conserver le nom de fichier tout en écrasant un fichier existant? Dans Zend Framework.Ecraser le fichier téléchargé dans Zend Framework

Cela permet de maintenir le nom du fichier tmp (comme php3382.tmp)

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

$adapter->receive(); 

et cela ne remplace pas

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

Répondre

1

Essayez ceci:

... 

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

.... 
+0

Merci pour votre réponse. Mais pourquoi divisez-vous par '.', juste pour les rejoindre à nouveau? En outre, s'il y a plus d'un point, je pense que cela échouera – Znarkus

+0

@Znarkus I invité une partie de mon code dans mon exemple est manquant (il a été pris à partir d'un code de production) - J'aurais pu faire quelque chose à extension ou nom de fichier réécrire le fichier. Et oui, il y a sûrement de meilleurs moyens d'obtenir le nom de fichier et l'extension. Je vais réécrire l'exemple de toute façon. – yentsun