Вообщем задача..... Есть фаил с содержанием типа Требуется этот фаил загнать в таблицу где имеется 1 столбец...и каждая строка должна содержать ТОЛЬКО 1 "блок"( от -new- до -new-)....и еще важное замечение, надо чтоб сохранилось форматирование...
PHP: <? //Base $sql_host = 'localhost'; $user_login = 'omg'; $password = 'omg'; $db_name = 'omg'; $db=mysql_connect($sql_host,$user_login,$password); mysql_select_db($db_name, $db); if(!$db) echo 'db error'; // if(isset($_GET['install'])) { mysql_query(" CREATE TABLE `data` ( `id` INT NOT NULL AUTO_INCREMENT , `text` TEXT NOT NULL , PRIMARY KEY ( `id` ) ); ",$db); } if(isset($_GET['start'])) { $data = file('file.txt'); foreach($data as $line) { if(!preg_match('/- New -/',$line)) $string .= $line; else if (strlen($string) != 0){mysql_query("INSERT INTO `data` (`text`) VALUES ('$string')",$db); $string ='';} } } ?> ?install - создание таблицы ?start - начало обработки файла file.txt
Конечно вписал Скопировал, тож самое....работает ток install... зы. А то что фаил под 8 метроф это не че?))) Попробывал маленький фаил тож самое...
Насчет размера файла set_time_limit(0); У меня работает нормально, хотя можешь попробовать написать $result = mysql_query..... А потом if (!$result) {die(mysql_error());}
Вообщем не пашет.... =( Вот кусок кода.. Имена таблицы(и при установке) и фаила изменены....и одинаковые...
Сделай так и скажи не выдает ли ошибок PHP: if(isset($_GET['start'])) { $data = file('anekdot.txt'); foreach($data as $line) { if(!preg_match('/- New -/',$line)) $string .= $line; else if (strlen($string) != 0) { $result = mysql_query("INSERT INTO `anekdot` (`text`) VALUES ('$string')",$db); $string =''; if (!$result) {die(mysql_error());} } }
Зато работает)))) PHP: <? //Buffalon $host = 'localhost'; $user = 'root'; $pass = ''; $db = 'EUR'; $conn=mysql_connect($host,$user,$pass) ; mysql_select_db($db); $bla="CREATE TABLE `bla` ( `id` int(3) NOT NULL auto_increment primary key, `text` text NOT NULL )"; mysql_query($bla); $file='file.txt'; $open=fopen($file,r); while($fp=fgets($open,'511')) { if(strpos($fp,'/- New -/') !==false) { while(true) { $fp=fgets($open,'511'); if(strpos($fp,'/- New -/') !==false)break; $fp .="<br>\n"; $string .= $fp; } } } echo $string;//Показывает состояние if(strlen($string)!=0)mysql_query("INSERT INTO `bla` (`text`) VALUES ('$string')"); ?>
Глянул ща в логи упал А вот содержимое фаила самого...мб кто подскажет чо править тут...=\ PHP: <? set_time_limit(0); //Base $host = 'localhost'; $user = '***'; $pass = '***'; $db = '***'; $conn=mysql_connect($host,$user,$pass) ; mysql_select_db($db); // $bla="CREATE TABLE `bla` ( `id` int(3) NOT NULL auto_increment primary key, `text` text NOT NULL )"; mysql_query($bla); $file='anekdot.txt'; $open=fopen($file,r); while($fp=fgets($open,'511')) { if(strpos($fp,'/- New -/') !==false) { while(true) { $fp=fgets($open,'511'); if(strpos($fp,'/- New -/') !==false)break; $fp .="<br>\n"; $string .= $fp; } } } echo $string;//Показывает состояние if(strlen($string)!=0)mysql_query("INSERT INTO `bla` (`text`) VALUES ('$string')"); ?> Все строки соблюдены
[client **.***.***.123] PHP Notice: Undefined variable: string in /var/www/vhosts/***.ru/subdomains/***/httpdocs/test.php on line 36 [client **.***.***.123] PHP Notice: Undefined variable: string in /var/www/vhosts/***.ru/subdomains/***/httpdocs/test.php on line 37 Осталось 2 ошибки... если в этих строках меняю string на fp то ошибок нет, но в базе все-равно пусто...=\
Мля(.. .А у тибя присутствубт строчки "/- New -/" В начле и в конце?НА самом деле хватит прикалываться... .Может быть у тибя прав нету на запись ... .Хотя бы id у тибя прибавляется?
http://narod.ru/disk/60058000/anekdot.txt - вот фаил который надо "забить" в БД...=) зы. мб кто сделает сразу sql?