我正在为文件读取尝试ftp连接。
我想做的就是
我成功列出了给定目录中的文件。
例如:下面的代码返回$emailfiles
数组,其中TEST.txt
为一个值。
但是当我尝试使用fopen/file_get_contents
打开/阅读相同的文件内容时,它会给出错误:"无法打开Stream"
我可以从另一个ftp访问文件: .38 ,这是公共ftp。 我想实际使用的ftp是 .94 ,我有完整的权限,因为我能够从浏览器访问具有相同链接的文件。我也可以从Windows资源管理器中编写/粘贴文件。
但我无法从php代码中读取相同的文件。
以下是我的ftp连接和测试代码。
$ftp_server = "10.96.5.94";
$ftp_serverpath = "ftp://".$ftp_server;
$ftp_user_name = "myusername";
$ftp_user_pass = "mypassword";
$email_dir = "ebill";
try {
$con = ftp_connect($ftp_server);
if (false === $con) {
throw new Exception('Unable to connect');
}
$loggedIn = ftp_login($con, $ftp_user_name, $ftp_user_pass);
if (true === $loggedIn) {
echo 'Success!';
} else {
throw new Exception('Unable to log in');
}
ftp_pasv($con, true);
$emailfiles = ftp_nlist($con, $email_dir);
print_r($emailfiles);
//$filename = "ftp://10.16.0.38/ebill/TEST.txt";
$filename = "ftp://10.96.5.94/ebill/TEST.txt";
$pr = file_exists($filename);
// OR
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
非常感谢任何帮助,谢谢。
答案 0 :(得分:1)
好的,这解决了我的错误。
$filename = "ftp://username:password@hostname/path/to/file";
感谢。