使用@符号与DirectoryIterator中的ftp流
问题描述:
我使用DirectoryIterator类来列出ftp内容: $ a = new DirectoryIterator('ftp:// user:password @ host');使用@符号与DirectoryIterator中的ftp流
如果有一个在登录“@”字符,我得到一个错误: 未能打开目录:操作失败
我怎样才能在登录逃脱@符号?
我尝试: %40, + \ @
答
RFC1738要求像@
这样的特殊字符应该在ftp://方案中被urlencoded。因此使用%40
代替密码分割中的@将是正确的。
但是你只是想在主机名前加上user:[email protected]
前缀。那些不需要转义。而且它本身已经通过FTP URL的fopen封装支持:
$d = opendir("ftp://anonymous:[email protected]/pub/");
print readdir($d);
以上的ftp:// URL对我的作品与DirectoryIterator
过,但给出了一些模糊的警告和不同的结果。所以我会先用本机函数进行测试。