所以我做了一个FTP服务器,我可以上传文件到它。但是现在我想显示一个。日志
文件内容(纯文本),但我似乎不知道该怎么做。
我用这个函数做了一个类,我可以看到上传的文件存在,但是我如何打印4404.log
的内容?
function FTP_read(){
ob_end_flush();
$conn_id = ftp_connect($this->ftp_server);
$login_result = ftp_login($conn_id, $this->ftp_user_name, $this->ftp_user_pass);
// get contents of the current directory
$contents = ftp_nlist($conn_id, ".");
// output $contents
var_dump($contents);
}
我以为我可以使用ftp_get()
,但是为什么我必须写入另一个文件?
ftp_get()从FTP服务器检索一个远程文件,并将其保存到本地文件中。
预期会得到如下结果(打印日志内容):
创建了一个连接,并打开了一个php://temp
文件,然后使用ftp\u fget(…)代码>以写入该文件。然后,
$h
文件就有了内容,所以我不得不一行一行地遍历该文件,这似乎很有效。
function FTP_read(){
ob_end_flush();
$conn_id = ftp_connect($this->ftp_server);
$login_result = ftp_login($conn_id, $this->ftp_user_name, $this->ftp_user_pass);
ftp_pasv($conn_id, true);
$h = fopen('php://temp', 'r+');
ftp_fget($conn_id, $h, '4404.log', FTP_BINARY, 0);
fseek($h, 0);
while(!feof($h)) {
$line = fgets($h);
echo "$line"."<br>";
}
fclose($h);
ftp_close($conn_id);
}