TXT to MYSQL

Статус
В этой теме нельзя размещать новые ответы.
сделай примерно так
for ($i = 1; $i < $filescount; $i++){
mysql_query('INSERT INTO `table_name` (`filecontent`) VALUES (`'.file_get_contents($i.'.txt').'`)';
}
 
Зависит от структуры файлов но на любом похожем на Unix компьютере или установив Сygwin можно легко сгенерировать какой надо SQL с помощью cat, awk, grep,cut итд

cat имя_файла | awk '{print "INSERT INTO таблица (колонна1, колонна2) VALUES("$1","$2");) }' > base.sql
 
Если формат файлов нетривиальный и простые скрипты не помогают, можно использовать например JDBC.
 
load data infile "FILE_IN" into table `tbl`
lines terminated by "\n"
(`col1`);
 
PHP:
##=====================================================================
##ВАРИАНТ НОМЕР 1
##=====================================================================

//берём всю инфу файла
$file = file_get_contents("hello.txt");

//меняем Enter на html перевод строки <br />
$file = str_replace("\n","<br />", $file);
//тут ещё много всяких замен можео сделать, чтоб если вдруг ВНЕЗАПНО не хакнули базу =)

//в дле вроде бы так прописываецо mysql_query
$db->query("INSERT INTO dle_post (full_story) VALUES (".$file.")");

echo $file;

##=====================================================================
##ВАРИАНТ НОМЕР 2
##=====================================================================

//если нужно взять только первую строчку
$file = file_get_contents("hello.txt");

$lines = strpos($file, "\n");
	if (!empty($lines))
 	{
 		$first_line = trim(substr($file, 0, $lines));
 	}
 	else
 	{
 		$first_line = $file;
 	}


echo $first_line;

Ну а вообще, я так понял нужно брать первую строчку, т.к. там находицо название новости ну или какой-нить доп инфы для новости, можно так до бесконечности делать велосипеды, пока топик стартер не напишет точный пример чего он хочет.
 
Jeckerson, так только полная добавляется. А где краткое? Титлы?
PHP:
//Автор SergeyGr(ValarGrabber)
$dle_user = 'admin';
// Показывать размещаемые новости на главной странице.
// true - показывать;
// false - не показывать:
$show_in_main = true;
// Автоматически проходить предварительную модерацию новостей
$dauto_approve = true;

function d_AddNews($title, $preview, $full, $my_category, $date, $microtime, $keywords, $description)
	{
	global $show_in_main;
	global $dle_user;
	global $dauto_approve;

	// Случайный автор?
	$dle_user2 = $dle_user[A_GetRandom(0, count($dle_user)-1)];

	if (mysql_query("INSERT INTO `".PREFIX."_post` 
			( `date` , `short_story` , `full_story` , `title` , `category` , `approve`, `allow_main` , `alt_name`,`autor`, `descr`, `keywords`)
			VALUES
			('".date("Y-m-d H:i:s", $microtime)."',
			'".mysql_real_escape_string($preview)."', 
			'".mysql_real_escape_string($full)."', 
			'".mysql_real_escape_string($title)."',
			'".$my_category."' , '$dauto_approve', '$show_in_main',
			'".A_ParseForPrefix($title, '50')."','".$dle_user2."',
			'".mysql_real_escape_string($description)."', '".mysql_real_escape_string($keywords)."')"))
		{
		mysql_query("UPDATE `" . PREFIX . "_users` SET `news_num` = `news_num` + 1 WHERE `name` = '$dle_user2'");
		return true;
		}
	else return false;	
	}
И всё, прикручиваем цикл обхода файлов, где считываем строки нужными данными.
 
ну я же не знаю что топик стартеру нужно вбивать :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху