【问题标题】:Change file name while uploading using Zend_From使用 Zend_From 上传时更改文件名
【发布时间】:2012-04-10 06:43:28
【问题描述】:

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

 $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();
 }

谁能告诉我我的代码有什么问题?

【问题讨论】:

  • 您的代码有什么问题?错误?它有什么作用?
  • 它会上传文件,但不会重命名文件。就我而言,我写了静态名称“1.jpg”进行测试。但它不会将文件名更改为定义的文件名:(
  • IMAGE_PHY_PATH的值是多少?
  • 这个问题太模糊,无法回答,请提供更多信息。上面的代码在什么情况下不起作用?
  • @ GordonM :我实际上想上传文件,但在上传之前,我想重命名文件。你还需要什么规范来解决这个问题?

标签: php zend-framework file-upload zend-form zend-form-element


【解决方案1】:
$rename = new Zend_Filter_File_Rename(array(
    'target'    => IMAGE_PHY_PATH . '1.jpg',
    'overwrite' => true
));

$upload->addFilter($rename);

【讨论】:

    【解决方案2】:

    试试realpath(IMAGE_PHY_PATH)。这应该产生一个绝对路径名(例如:$adapter->setDestination('C:\temp'))。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-10
      • 2013-02-14
      • 1970-01-01
      • 2016-05-28
      • 2020-06-01
      相关资源
      最近更新 更多