Это только чтение первого поля, потому что PHP автоматически не предполагает, что символ новой строки (\n
) означает новую запись;Вы сами должны справиться с этим.
Используя то, что у вас уже есть, я бы сделал следующее:
$contents = fread($fd, filesize($filename));
close($fd);
/* Now, split up $contents by newline, turning this into an array, where each element
* is, in effect, a new line in the CSV file. */
$contents = explode("\n", $contents);
/* Now, explode each element in the array, into itself. */
foreach ($contents as &$c) {
$c = explode(",", $c);
}
В будущем, если вы захотите построчнотак как вы рискуете перегрузить слишком много ресурсов, прочитав весь файл, используйте fgets()
.