I can think of only one reason why your test might be invalid: If you have already logged in to the FTP server from the browser, and the user:pass in the URL aren't the ones actually authenticating you, but the ones saved in the browser are the ones that let you in, you'd get the behaviour you have described. Seeems unlikely to be the cause, but quit the browser before your test to be sure.
The ftp login details are definitely correct. I found another linux machine I have access to on which running the identical line of code on worked. That was a fc5 machine with the rpm'd version of apache and php. The problem showed up after I did the upgrade to 5.2.1 so the wrapper stuff worked before but now its just silently failing. I compile php from source so I wonder if its some compilation/configuration issue ? I did consider if it was a firewall/network issue as the other machine is on a completely different network but I can passively ftp to the ftp server using the linux command line ftp program You may also want to consider using http://php.net/ftp as a
work-around, if this new-fangled FPT streams stuff just isn't working. Or even http://php.net/curl for that matter.
I would like to avoid having to re-write the code using curl if possible. Cheers J.