やりたい事は日本ファイル名でもアップされても良いという事とアップされたものが重複する事によって上書きされないようにする事。
class Default_Form_Foo extends Zend_Form
{
public function init()
{
$element = new Zend_Form_Element_File('foo');
$element
->setRequired(false)
->setValidators(array(
array (
'validator' => 'Count',
'breakChainOnFailure' => true,
'options' => array(1),
),
array (
'validator' => 'Size',
'breakChainOnFailure' => true,
'options' => array(20000),
),
array (
'validator' => 'IsImage',
'breakChainOnFailure' => true,
'options' => array('jpeg,jpg,png,gif'),
),
);
$this->addElement($element, 'imagefile');
}
public function isValid($data) {
$oldname = pathinfo($this->foo->getFileName());
do {
$newname =
date("ymdHis") . '_' .
uniqid() . '.' .
$oldname['extension'];
} while (
@file_exists (
$this->getConfigs()
->tmp
->img . '/' .
$filename));
$this->getElement('foo')
->addFilter('Rename', array(
'target' =>
$this->getConfigs()
->banner
->tmp_path . '/' .
$filename,
'overwrite' => true,
)
);
return parent::isValid($data);
}
}
0 件のコメント:
コメントを投稿