Недавно я написал почтовую платформу для одного из наших сотрудников. Система работает отлично, отлично масштабируется и ей интересно пользоваться. Тем не менее, в настоящее время он не работает из-за ошибки, которую я не могу понять, как исправить (довольно неопытный разработчик).
Процесс идет примерно так ...
- Загрузить файл CSV в определенный каталог FTP.
- Перейти на страницу import_mailing_list.
- Выберите файл CSV в каталоге FTP.
- Назовите и опишите, что содержится в списке.
- Свяжите заголовки файлов со столбцами базы данных.
Затем серверная часть зацикливается на каждой строке файла, связывая значения с заголовком и импортируя эти значения в базу данных.
Это все прекрасно работает, за исключением конкретного случая, когда необработанный формат CSV неправильно отформатирован. Например ...
fname, lname, email
Bob, Schlumberger, bob@bob.com
Bobbette, Schlumberger
Another, Record, goeshere@email.com
Как видите, во второй строке отсутствует запятая. Это может привести к ошибке при попытке получить «valArray [3]» (или valArray [2], в случае любого языка, кроме моего).
Я ищу наиболее эффективное решение для предотвращения этой ошибки. Возможно, мне следует проверить длину массива и сравнить его с индексом, который мы собираемся попытаться извлечь, прежде чем его извлекать. Но делать это для каждого значения кажется неэффективным. У кого-нибудь есть другая идея?
Наш стек - ColdFusion 8/9 и MySQL 5.1. Вот почему я называю индекс массива [3].