Преобразование файла CSV в многострочный массив в PHP с использованием $_FILES

Чтобы преобразовать CSV-файл PHP в многострочный массив с помощью суперглобальной переменной $_FILES, вы можете выполнить следующие действия:

  1. Отправьте файл CSV, используя форму с полем ввода типа «файл» и соответствующими атрибутами формы, например enctype.
  2. Получите загруженный файл с помощью $_FILES['fieldname'], где «fieldname» — это атрибут имени поля ввода файла в форме.
  3. Откройте загруженный файл с помощью fopen()или file_get_contents()и прочитайте его содержимое.
  4. Проанализируйте данные CSV с помощью str_getcsv()или fgetcsv(), в зависимости от того, представляете ли вы содержимое файла в виде строки или дескриптора файла.
  5. Выполните итерацию по строкам CSV и сохраните каждую строку как элемент многострочного массива.

Вот пример реализации:

if ($_FILES['csv_file']['error'] === UPLOAD_ERR_OK) {
    $file = $_FILES['csv_file']['tmp_name'];
    $rows = [];
    if (($handle = fopen($file, 'r')) !== false) {
        while (($data = fgetcsv($handle)) !== false) {
            $rows[] = $data;
        }
        fclose($handle);
    }
// $rows now contains the multirow array representation of the CSV data
    print_r($rows);
} else {
    // Handle file upload error
}