Как автоматически auto_detect_line_endings в Laravel

Я пытаюсь загрузить данные из файла CSV в мою базу данных с помощью laravel.

Код отлично работает с файлом с окончанием строки «\ t».

Теперь мне нужно загрузить файл, для которого я не знаю тип окончания строки.

Поэтому я хотел бы использовать ini_set('auto_detect_line_endings',TRUE);, который не работает.

Функция контроллера

public function uploadExcel()
{
DB::table('members')->delete();

$filename = Input::file('import_file')->getRealPath();

ini_set('auto_detect_line_endings',TRUE);

$file = fopen($filename, "r");

$count = 0;
while (($emapDataUnescaped = fgetcsv($file, 10000)) !== FALSE) {
$emapData = self::addslashes_recursive($emapDataUnescaped);
$count++;

if($count>1) {
DB::statement("INSERT INTO `members` (
member_title,
member_first_name,
member_name_affix,
member_last_name,
member_private_address,
member_private_zip_code,
member_private_location,
member_private_phone,
member_private_mobile,
member_private_fax,
member_private_mail,
member_business_position,
member_business_name,
member_business_address,
member_business_zip_code,
member_business_location,
member_business_area_code,
member_business_phone,
member_business_fax,
member_business_mobile,
member_business_mail,
member_join_date,
extra
) VALUES (
'$emapData[0]',
'$emapData[1]',
'$emapData[2]',
'$emapData[3]',
'$emapData[4]',
'$emapData[5]',
'$emapData[6]',
'$emapData[7]',
'$emapData[8]',
'$emapData[9]',
'$emapData[10]',
'$emapData[11]',
'$emapData[12]',
'$emapData[13]',
'$emapData[14]',
'$emapData[15]',
'$emapData[16]',
'$emapData[17]',
'$emapData[18]',
'$emapData[19]',
'$emapData[20]',
'$emapData[21]',
'$emapData[22]'
)");
}
}
return redirect('index');
}

Проект размещен в среде общего хостинга., в случае, если это имеет значение.

В любом случае я могу включить auto_detect_line_endings в laravel? Или есть другой способ определить тип окончания строки перед обработкой файла?

Я действительно новичок в Laravel и буду очень благодарен за любую помощь!

0

Решение

Кстати, это не имеет ничего общего с рамками Laravel. Это обработка файлов PHP.

Ну, вы могли бы, если хотите. Ниже приведены библиотеки, созданные для решения проблем, связанных с обработкой файлов CSV и Excel.

  • wilgucki / CSV: Пакет Laravel 5 для записи и чтения файлов CSV.
  • maatwebsite / Excel: Красноречивый способ импорта и экспорта Excel и CSV в Laravel 4 и Laravel 5 с мощью PHPExcel
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]