Как раскидать содержимое csv-файла по другим файлам?

<?php>
  $tmpName = $_FILES['csv']['tmp_name'];
  $csvAsArray = array_map('str_getcsv', file($tmpName));
  mkdir("/upload");
  
</php>

<html>
 <head>
  <title>Basic File Upload</title>
 </head>
 <body>
  <form method="post" action="upload.php" enctype="multipart/form-data">
   <input type="file" id="inputfile" name="inputfile"></br>
   <input type="submit" value="Click To Upload">
  </form>
 </body>
</html>

Привет,вот часть моего задания:Рядом с файлом upload.php требуется создать папку /upload/ и создать в ней файлы, прочитав CSV-файл,Пример файла CSV: aaa.txt,Привет bbb.log,Тест

При загрузке такого файла должны быть созданы /upload/1.txt, /upload/2.log, /upload/3.html (с соответствующим содержимым). А это то что я написал,но не знаю как закончить


Ответы (1 шт):

Автор решения: Laukhin Andrey

Лучше не загружать сразу весь файл в память, а читать построчно:

$uploadDir = '/upload';
$tmpName = $_FILES['csv']['tmp_name'];

if(!file_exists($uploadDir)) mkdir($uploadDir);

if (($handle = fopen($tmpName, "r")) !== false) {
    while (($data = fgetcsv($handle, 1000, ",")) !== false) {
        file_put_contents($uploadDir .'/'. $data[0], $data[1]);
    }
    fclose($handle);
}
→ Ссылка