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.
>>>>
>>>>
>>>>
>>>
>>
>

Reply via email to