我正在尝试文件读取的ftp连接。
我想做的就是
我成功地列出了给定目录中的文件。
例如:下面的代码返回$emailfile
数组,其中test. txt
为一个值。
但是,当我尝试使用fopen/file\u get\u contents
打开/读取相同的文件内容时,会出现错误:“无法打开流”
我能够从另一个ftp:.38访问文件,这是公共ftp。我想实际使用的ftp是.94,对此我有完全的特权,因为我可以通过相同的链接从浏览器访问文件。我也可以写/粘贴文件从窗口资源管理器。
但是我无法从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));
任何帮助都非常感谢,谢谢。
好的,这解决了我的错误。
$filename = "ftp://username:password@hostname/path/to/file";
谢谢。