1

FTP経由でPDFファイルを取得するためにGaufretteを使用しています

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 モードの代わりにバイナリモードを使用しようとしている可能性があると聞いたことがありますが、これを変更する方法がわかりません

4

1 に答える 1

1

アダプターをmode FTP_ASCII(デフォルト)から変更するFTP_BINARYことで、魅力的に機能しました。

knp_gaufrette:
  adapters:
    invoice_ftp:
      ftp:
        host: ftp.localhost
        port: 21
        mode: FTP_BINARY
于 2015-03-28T12:35:33.490 に答える