Публикации - Laravel

Решение типовых задач на Laravel - Обработка файлов .csv

 

 Форма загрузки прайса формата .csv. Листинг 32.1

 
 
  {{csrf_field()}}
  
 
  
  
  

 

   Убедитесь в том, что прайс правильного формата
  

 


 

 

Рассмотрим экшн-обработкчик формы

 Обработка формы. Листинг 32.2

    public function postIndex()
    {
        if ($_FILES) {
// Инициализация переменной – пути к временному файлу
            $tmp_name = $_FILES['price']['tmp_name'];
// Инициализация переменной – имени файла
            $name = $_FILES['price']['name'];
// Инициализация переменной - дирректории
            $dir = public_path() . "/media/prices/";
// Если такой директории нет - создаем
            if (!is_dir($dir)) {
                @mkdir($dir, 0777);
            }
// Проверяем, если файл реально был загружен…
            if (is_uploaded_file($tmp_name)) {
// Перемещаем его из временной директории в конечную
                move_uploaded_file($tmp_name, $dir . $name);
            } else {
                echo("File upload error");
            }
        }
    }

Вся дальнейшая обработка файла идет после функции move_uploaded_file():

 Обработка файла с помощью функции fgetcsv. Листинг 32.3

$handle = fopen($dir.$name, ‘r’);
while($data = fgetcsv($handle, 1000, ‘;’)){
 print_r($data);
}

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться