Я использую Gaufrette для получения PDF-файлов через FTP
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);
Это ошибка в гафрете, или я неправильно использую гафрет?
Я что-то слышал о том, что, возможно, он пытается использовать бинарный режим в гауфретте вместо режима ASCII, но я не знаю, как это изменить
Сменив мой адаптер с mode
FTP_ASCII
(по умолчанию) FTP_BINARY
Оно работало завораживающе.
knp_gaufrette:
adapters:
invoice_ftp:
ftp:
host: ftp.localhost
port: 21
mode: FTP_BINARY
Других решений пока нет …