2012-04-10 11 views
1

Ich möchte den Namen der hochgeladenen Datei ändern. Unten ist der Code, den ich geschrieben habe:Ändern Sie den Dateinamen beim Hochladen mit Zend_From

$upload = new Zend_File_Transfer_Adapter_Http(); 
$upload->setDestination(IMAGE_PHY_PATH); 
try { 
    //upload received file(s) 
    $upload->addFilter('Rename', array('target' => IMAGE_PHY_PATH."1.jpg", 
             'overwrite' => true)); 
    $upload->receive(); 
} catch (Zend_File_Transfer_Exception $e) { 
    $e->getMessage(); 
} 

Kann mir jemand sagen, was ist falsch mit meinem Code?

+3

Was * ist * falsch mit Ihrem Code? Fehler? Was tut es? – deceze

+0

es lädt Datei, aber es die Datei nicht umbenennen. In meinem Fall habe ich einen statischen Namen geschrieben, der "1.jpg" zum Testen ist. aber es ändert den Dateinamen nicht in den definierten Dateinamen :( –

+0

Was ist der Wert von 'IMAGE_PHY_PATH'? – dbrumann

Antwort

1
$rename = new Zend_Filter_File_Rename(array(
    'target' => IMAGE_PHY_PATH . '1.jpg', 
    'overwrite' => true 
)); 

$upload->addFilter($rename); 
0

Versuchen Sie realpath(IMAGE_PHY_PATH). Dies sollte einen absoluten Pfadnamen ergeben (zB: $adapter->setDestination('C:\temp')).

Danach prüfen, ob der Pfad existiert und beschreibbar ist. Normalerweise sollte setDestination eine Ausnahme auslösen, wenn dies nicht der Fall ist. Wenn der Pfad korrekt ist, rufen Sie $ form-> getValues ​​() nach dem try/catch-Block auf.