2011-02-01 68 views
1

我想在Zend-framework中上传图片。使用Zend Framework上传图片?

在Application_Form_Test.php我写下面的代码....

uploadImage = new Zend_Form_Element_File('uploadImage'); 
$uploadImage->setLabel("Upload Image ") 
      ->setRequired(true)    
      ->addValidator('Extension', false, 'jpeg,png') 
      ->getValidator('Extension')->setMessage('This file type is not supportted.'); 

在testAction()我写下面的代码.....

$upload = new Zend_File_Transfer_Adapter_Http(); 
$upload->addValidator('Size', false, 52428800, 'image'); 
$upload->setDestination('uploads'); 
$files = $upload->getFileInfo(); 
foreach ($files as $file => $info) { 
    if ($upload->isValid($file)) { 
     $upload->receive($file); 
    } 
} 

代码成功,但我跑我没有得到该图像到目标文件夹?

可能是什么问题....? 请帮我.....

在此先感谢....

回答

0

附加说明:如果你看Zend_Form_Element_File->receive(),你会看到isValid()被调用,所以没有必要使用它来控制你的控制器。以下是我的工作内容:

if ($upload->receive()) { 
    if ($upload->getFileName() && !file_exists($upload->getFileName())) { 
     throw new Exception('The upload should have worked, but somehow did not!'); 
} 
} else { 
    throw new Exception(implode(PHP_EOL, $upload->getErrors()) . implode(PHP_EOL, $upload->getErrorMessages())); 
}