Мульти-копирование данных из файлов в MysQL
1.
Edgar (26.05.2011 / 15:55)
Имею одну проблему, у меня есть скрипт на файлах и надо его переписать на мускул, скрипт россказов, где в одной директории много .dat файлов и в каждом файле отдельный рассказ типа Автор|Дата|Россказ, так надо както перекопировать все в базу данных, данные Автор в таблицу Автора, Дата в Дата и Россказ в Россказ, как это лучше сделать, когда файлов около тысячи? Спасибо.
2.
KOZZ (26.05.2011 / 16:09)
<?
$files = glob('papka/*.dat');
$ok = $err = 0;
for($i=0;$i<=100;$i++){
$str = explode('|',file_get_contents($files[$i]));
$sql = mysql_query("insert into `table` set `author`='".$str[0]."',`date`='".$str[1]."',`article`='".$str[2]."';");
sleep(0.01);
if($sql !== false && mysql_num_rows()>0){$ok++;} else {$err++;}
}
echo "Успешно залито:$ok<br/>Ошибок:$err";
?>
и такую операцию проворачиваем с каждой сотней файлов (меняя данные в цикле).
если это все на денвере, то можно и без ограничений по 100 и sleep'a
предварительно создаем таблицу в mysql:
create table `article` (
id int auto_increment,
author text not null,
date int not null,
article text not null,
primary key(id)
)
и устанавливаем соединение
3.
Александр (26.05.2011 / 16:10)
нужно написать скрипт не большой. Который в цикле будет открывать файл, запоминать содержимое и записывать в базу. Я бы помог но ушел на работу на двое суток
Добавлено через 00:56 сек.
о! Пока писал уже помогли
4.
Edgar (26.05.2011 / 16:21)
Спасибо eGo, очень помог, плюс поставлю вечером, так как:
Ошибка! Разрешается изменять авторитет раз в 3 часа!
URL:
https://visavi.net/topics/21875