在通过ftp_fget从远程服务器提取流后不能回显流,但是如果我把它写到文件中它有点工作......
我想我需要像fclose和fopen = freopen这样的东西? :d
我需要从缓存/缓冲区写入文件流..?
如果我在写入文件后fclose并再次打开它我很容易回应它。
不工作
function download (){
$fs = fopen('php://temp', "w+");
ftp_fget($this->connection,$fs,$this->targetdir . $name, FTP_BINARY);
ftp_close($this->connection);
return $fs;
}
echo stream_get_contents(download('file.xml'));
有点工作(文件包含文本,因为脚本执行后自动关闭)
function download (){
$fs = fopen('file.xml', "w+");
ftp_fget($this->connection,$fs,$this->targetdir . $name, FTP_BINARY);
ftp_close($this->connection);
echo $fs
return $fs;
}
echo stream_get_contents(download('file.xml')); //still doesn't work
答案 0 :(得分:0)
您需要在写入后将指针设置回开头。
必需的命令:fseek()
function test (){
$fs = fopen('php://temp', "w+");
ftp_fget($this->connection,$fs,$this->targetdir . $name, FTP_BINARY);
ftp_close($this->connection);
fseek($fs,0);
return $fs;
}