我使用Gaufrette通过FTP获取PDF文件
knp_gaufrette:
adapters:
invoice_ftp:
ftp:
host: ftp.localhost
port: 21
filesystems:
invoice:
adapter: invoice_ftp
我用
下载文件$url = sprintf('upload/%s/%s.%s', $this->getFolderName($file), $file, $extension);
$file = $this->filesystem->get($url);
$content = $file->getContent();
file_put_contents($newfile, $content);
但是这给了我一个PDF文件错误
但如果我正在使用
$url = sprintf('ftp://ftp.localhost/upload/%s/%s', $this->getFolderName($filename), $filename . '.PDF');
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec($ch);
file_put_contents($newfile, $content);
这是gaufrette中的错误,还是我使用gaufrette错了? 我听说过它可能试图在gaufrette而不是ascii模式中使用二进制模式,但我不知道如何改变这个
答案 0 :(得分:0)
通过将我的适配器从mode
FTP_ASCII
(默认)更改为FTP_BINARY
,它就像魅力一样。
knp_gaufrette:
adapters:
invoice_ftp:
ftp:
host: ftp.localhost
port: 21
mode: FTP_BINARY