ZF使い始めてだいぶ経つけど、HTMLフォームからファイルをアップロードってのをやったことがなかった。たまたま。
HTML側にフォームをフツーに作っていただければ、サーバサイドはコントローラこんな感じに書けばアップできます。
$adapter = new Zend_File_Transfer_Adapter_Http();
$adapter->setDestination('D:\tmp');
$adapter->addFilter('Rename', 'D:\tmp\1.jpg');
if (!$adapter->receive()) {
$messages = $adapter->getMessages();
echo implode("\n", $messages);
}
このコードはZFのリファレンスガイドに掲載されてたものとほぼ同じなので、実際はvalidationとかかけないとダメです。
名前変更は$adapter->addFilter('Rename', 'D:\tmp\1.jpg');でフィルタでやるわけです。
詳しくはやはりリファレンスガイドを参照すべし、ということで。
追記:
画像を上書きで保存したい場合は、以下のような感じで。
$adapter->addFilter('Rename', array('target' => 'D:\tmp\1.jpg', 'overwrite' => true));
コメントする