0

rename-addFilter を使用して、アップロードされたファイルの名前を変更しようとしています。実際のアップロードは既に機能していますが、ファイルはアップロードされただけで名前は変更されていません。ファイルをアップロードするコントローラーコードは次のとおりです。

        //Getting the new filename, works perfectly:
        $name = explode('.', $form['pic']);
        $ext = $name[1];
        $mapper = new Application_Model_CmsMap();
        $row = $mapper->fetchRow('childId = "' . $id . '" AND type= "pic"');
        $new_filename = $row->name.'.'.$ext;

        //All images will and are be stored in /public/images/
        //Maybe the picture should be replaced, so it should be overwrited, in case it already exists
        $upload->addFilter('Rename', array(
            'target' => '/images/'.$new_filename,
            'overwrite' => true,
            )
        );

        $upload->receive();
4

2 に答える 2

2

ねじ込みゼンド。古き良き PHP は簡単で、完璧に動作します。

rename('images/'.$form['pic'], 'images/'.$new_filename);
于 2012-06-21T14:17:06.747 に答える
0

動作するはずです:-)

    $transferAdapter = new Zend_File_Transfer_Adapter_Http();
    $transferAdapter->receive();

    $newFilename = 'MY_NEW_FILE';

    $filterFileRename = new Zend_Filter_File_Rename(array(
        'target'    => 'PATH' + $newFilename,
    ));

    $file = $transferAdapter->getFileName();

    // new location and name..
    $movedFile = $filterFileRename->filter($file);
于 2012-06-21T16:45:10.273 に答える