Re: fopen problem using ftp

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxx ),
>   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

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux