Php 使用Zend_从上载时更改文件名

Php 使用Zend_从上载时更改文件名,php,zend-framework,file-upload,zend-form,zend-form-element,Php,Zend Framework,File Upload,Zend Form,Zend Form Element,我想更改上传文件名。以下是我编写的代码: $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",

我想更改上传文件名。以下是我编写的代码:

 $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();
 }
有人能告诉我我的代码有什么问题吗?

试试
realpath(IMAGE\u PHY\u PATH)
。这将产生一个绝对路径名(例如:
$adapter->setDestination('C:\temp')

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

$upload->addFilter($rename);
检查路径是否存在并且是否可写。通常,如果不是这样,setDestination应该抛出异常。如果路径正确,请在try/catch块后调用$form->getValues()。

try
realpath(IMAGE\u PHY\u path)
。这将产生一个绝对路径名(例如:
$adapter->setDestination('C:\temp')


检查路径是否存在并且是否可写。通常,如果不是这样,setDestination应该抛出异常。如果路径正确,请在try/catch块后调用$form->getValues()。

代码有什么问题?错误?它做什么?它上载文件,但不重命名文件。在我的例子中,我已经为测试编写了静态名称“1.jpg”。但它不会将文件名更改为定义的文件名:(图像物理路径的值是多少??这个问题太模糊了,无法回答,请提供更多信息。上面的代码以什么方式不起作用?@GordonM:我确实想上传文件,但在上传之前,我想重命名文件。您还需要什么规范来解决这个问题?您的代码有什么问题?错误?怎么办是吗?它上载文件但不重命名文件。在我的情况下,我编写了静态名称“1.jpg”用于测试。但它不会将文件名更改为定义的文件名:(图像物理路径的值是多少??这个问题太模糊了,无法回答,请提供更多信息。上面的代码以什么方式不起作用?@GordonM:我确实想上传文件,但在上传之前,我想重命名文件。您还需要什么规范来解决这个问题?