Throw exception on fopen failure in streaming encoding

This commit is contained in:
kemo
2026-03-11 07:31:28 +01:00
parent 54a7d9f905
commit e0ecd38a82
+6 -1
View File
@@ -319,14 +319,19 @@ class Csv extends BaseReader
private function convertEncodingStreaming(string $filename): void
{
$sourceHandle = fopen($filename, 'rb');
// Using php://temp instead of php://memory: spills to disk when data
// exceeds 2MB, reducing peak memory for large files.
$outputHandle = fopen('php://temp', 'r+b');
if ($sourceHandle === false || $outputHandle === false) {
// @codeCoverageIgnoreStart
if ($sourceHandle !== false) {
fclose($sourceHandle);
}
if ($outputHandle !== false) {
fclose($outputHandle);
}
return;
throw new ReaderException("Failed to open file for encoding conversion: {$filename}");
// @codeCoverageIgnoreEnd
}