here's the full $e. http://pastebin.com/m5d442e15
the line in my code, line 83, that is definitely where it is calling $adapter->getFileName(). On Tue, Dec 16, 2008 at 7:01 PM, Thomas Weidner <thomas.weid...@gmx.at>wrote: > Cameron, > > when you have unexpected exceptions somewhere in your code it's always > usefull to get the whole exception and not only the rethrown content. > > This would be really helpfull, not only for ZF but for every generic > problem where exceptions are thrown. > > Greetings > Thomas Weidner, I18N Team Leader, Zend Framework > http://www.thomasweidner.com > > ----- Original Message ----- From: "Cameron" <themsel...@gmail.com> > To: "Thomas Weidner" <thomas.weid...@gmx.at> > Cc: "Zend Framework - General" <fw-general@lists.zend.com> > Sent: Tuesday, December 16, 2008 10:47 AM > Subject: Re: [fw-general] Unusual bug introduced with 1.7.1 in Zend_File. > > > > Yeah ok, so that's all a bit messy/broken, but I've cleaned it up and it's >> still doing the same thing: >> >> here's the cleaned up code in a pastebin: >> >> http://pastebin.com/m5bab1a44 >> >> the output is: >> >> Array ( [0] => bbbThe given destination is no directory or does not exist >> ) >> >> To test and make sure, i reverted to 1.7.0, still works fine. >> >> >> On Tue, Dec 16, 2008 at 5:31 PM, Thomas Weidner <thomas.weid...@gmx.at >> >wrote: >> >> Hy Cameron, >>> >>> Why should the first catch, catch anything when there is a failure ? >>> According to manual, receive() returns a false on failure, not an >>> exception. >>> >>> Also you are calling getFileName in any case, regardless if the form is >>> valid or not. >>> >>> Greetings >>> Thomas Weidner, I18N Team Leader, Zend Framework >>> http://www.thomasweidner.com >>> >>> ----- Original Message ----- From: "Cameron" <themsel...@gmail.com> >>> To: "Zend Framework - General" <fw-general@lists.zend.com> >>> Sent: Tuesday, December 16, 2008 7:25 AM >>> Subject: [fw-general] Unusual bug introduced with 1.7.1 in Zend_File. >>> >>> >>> >>> if ($form->isValid($formData)) { >>> >>>> //the form is valid, finish moving the file about >>>> >>>> $adapter = new Zend_File_Transfer_Adapter_Http(); >>>> if ($adapter->isValid() === false) { >>>> print_r($adapter->getMessages()); >>>> } >>>> >>>> try { >>>> $adapter->setDestination($path . >>>> "/$src_class/$foreign_id") >>>> ->receive(); >>>> } catch (Exception $e) { >>>> $errors[] = $e->getMessage(); >>>> } >>>> } >>>> >>>> if (!$errors) { >>>> //if there are no errors with things so far, add a db >>>> record. >>>> try { >>>> $this->_model->add(array('foreign_id' => $foreign_id, >>>> 'filename' => $adapter->getFileName(), 'src_class' => $src_class, 'type' >>>> => >>>> $formData['newform']['type'])); >>>> } >>>> catch (Exception $e) { >>>> $errors[] = $e->getMessage(); >>>> } >>>> } >>>> >>>> >>>> This works perfectly with 1.7.0, fails in 1.7.1 with a really odd >>>> problem >>>> - >>>> it doesn't fail until the SECOND catch Exception, and the error it >>>> returns >>>> is "The given destination is no directory or does not exist", which it >>>> most >>>> certainly does because the file is being uploaded and moved in to place >>>> just >>>> fine, nor can I see how the setDestinaton method is being called by the >>>> getFileName method? >>>> This is all a bit too weird for me, I'm not really sure what's going on. >>>> printing out variables as the setDestination method is being called >>>> shows >>>> a >>>> perfectly fine path, and the file is being written... there's just this >>>> exception being thrown at some point. If one of you Zend guys has a good >>>> place for me to start debugging this one from I'm more than happy to >>>> help. >>>> >>>> >>>> >>> >> >