我必须解析很多(10000+)远程压缩文件。每个压缩文件都应该在其中包含一个 CSV(可能在一个文件夹中)。现在我可以获取正文,检查内容类型并解压缩,获得application/octet-stream
.
问题是:什么是八位字节流,如何检查其中的文件或文件夹?
/** @var $guzzle \Guzzle\Http\Client */
$guzzle = $this->getContainer()->get('guzzle');
$request = $guzzle->get($url);
try {
$body = $request->send()->getBody();
// Check for body content-type
if('application/z-gzip' === $body->getContentType()) {
$body->uncompress();
$body->getContentType(); // application/octet-stream
}
else {
// Log and skip current remote file
}
}
catch(\Exception $e) {
$output->writeln("Failed: {$guzzle->getBaseUrl()}");
throw $e;
}