Re: fopen problem using ftp

From: Date: Tue, 15 Feb 2005 19:26:23 +0000
Subject: Re: fopen problem using ftp
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-208761@lists.php.net to get a copy of this message
Giulio wrote: > HI all, > > I have a script that uses fopen to acces for read a file using ftp: > > $filepointer = fopen($address,'r'); > > having $address string formed this way: > > $address = > "ftp:/ > > /".$FTPuser.":".$FTPpassword."@".$FTPserver."/".$FileFolder"."/".$FileNa > me; You really don't need all those '.' in there:P $address = "ftp://$FTPuser:$FTPpassword@$FTPserver/$FileFolder/$FileName"; will work just fine. Not any faster or anything, just more readable. > This script always worked for me, it has now stopped working trying it > on the server of a different provider, returning an error 'failed to > open stream...' > > I have the suspect that the funcion is failing due to the particular > account name ( used also as FTP username ) this italian provider gived > me when I sibscribed: It contains a @ symbol ( I.E., 123456@aruba.it ), > and I believe that this confuses the parsing of the > ftp://User:password@ftpserver/filepath string. > > Can you confirm this, or do you believe that the problem could be > caused by other factors ( like server settings ) ? > > Could you suggest me e workaround? Try using just the 123456 of the username... Probably won't work, but worth a shot. Or do this: $FTPuserURL = urlencode($FTPuser); before you compose the $address, and use $FTPuserURL instead of $FTPuser. That will replace the @ with %40 which will almost for sure be the kosher way have @ in an FTP username in a URL. Technically, you could/should also urlencode() the password and FilePath and FileName, I think. -- Like Music? http://l-i-e.com/artists.htm

« previous php.general (#208761) next »