2012-01-14 4 views
0

Я пишу следующий скрипт, чтобы импортировать файл csv в базу данных mysql. Пользователь должен сначала войти в систему, а их права на безопасность для загрузки проверены другим файлом, если это оценивается как true, тогда файл может быть загружен файловым загрузчиком, который будет разрешать загрузку csv, а затем следующее часть импортирует файл.Загрузите csv и импортируйте его в базу данных mysql

Я использую правильный код для этого ниже?, Также если неправильный csv-макет, можно ли отказаться от импорта?, Im просто беспокоился, что это может сильно испортиться, если csv отформатирован правильно. Эта функция была запрошена как требование для этого проекта, поэтому я просто стараюсь сделать это как доказательство идиота, насколько это возможно для них.

<?php 
$uploadedcsv = './uploads/'.$filename.''; 
$sql = 'LOAD DATA LOCAL INFILE "'.$uploadedcsv.'" INTO TABLE '.$table.' FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY """" IGNORE 1 LINES' or die(mysql_error()); 
?> 

ответ

2

Если вы не 100% полагаться на пользователя, и кажется, что у вас нет, это будет хорошо, чтобы не слепо импортировать загруженный файл, но сначала проверить, если это правильно.

Для этого вам необходимо открыть и прочитать файл, например. с fgetcsv и для проверки согласованности данных по очереди.


В Интернете вы можете найти множество примеров.

Вот лишь некоторые из них:

+0

спасибо, я взгляну на это :-) – user1148760

0

Это может быть сделано с помощью MySQL, но по умолчанию INFILE LOAD DATA ожидает другой формат, чем CSV. Из документации:

If you specify no FIELDS or LINES clause, the defaults are the same as if you had written this: 

FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' 
LINES TERMINATED BY '\n' STARTING BY '' 

в документации по примечаниям, для при работе с CSV-файлами:

LOAD DATA INFILE 'data.txt' INTO TABLE tbl_name 
FIELDS TERMINATED BY ',' ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n' 
IGNORE 1 LINES; 

который является примером работы с запятыми значений, вложенных «» и аудиовходами, разделенным \ г \ n

Чтобы использовать это, чтобы импортировать файл, убедитесь, что ваш оператор соответствует CSV-формату ваших загружаемых файлов, и вы можете импортировать этот способ.

Смежные вопросы