Нуже скриптик PhP+MySql

Discussion in 'PHP' started by Stern, 5 Apr 2008.

  1. Stern

    Stern Elder - Старейшина

    Joined:
    13 Mar 2007
    Messages:
    75
    Likes Received:
    5
    Reputations:
    0
    Вообщем задача.....

    Есть фаил с содержанием типа
    Требуется этот фаил загнать в таблицу где имеется 1 столбец...и каждая строка должна содержать ТОЛЬКО 1 "блок"( от -new- до -new-)....и еще важное замечение, надо чтоб сохранилось форматирование...
     
  2. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    809
    Reputations:
    231
    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
     
    _________________________
    #2 Kaimi, 5 Apr 2008
    Last edited: 5 Apr 2008
    1 person likes this.
  3. Stern

    Stern Elder - Старейшина

    Joined:
    13 Mar 2007
    Messages:
    75
    Likes Received:
    5
    Reputations:
    0
    Кхм...почему-то не "пишет" в таблицу....((
     
  4. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    809
    Reputations:
    231
    А ты настройки своей бд вписал?
    Кстати, скопируй скрипт ещё раз, там небольшая ошибка была.
     
    _________________________
    1 person likes this.
  5. Stern

    Stern Elder - Старейшина

    Joined:
    13 Mar 2007
    Messages:
    75
    Likes Received:
    5
    Reputations:
    0
    Конечно вписал :D

    Скопировал, тож самое....работает ток install... :)


    зы. А то что фаил под 8 метроф это не че?)))


    Попробывал маленький фаил тож самое...
     
    #5 Stern, 5 Apr 2008
    Last edited: 5 Apr 2008
  6. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    809
    Reputations:
    231
    Насчет размера файла set_time_limit(0);
    У меня работает нормально, хотя можешь попробовать написать $result = mysql_query.....
    А потом if (!$result) {die(mysql_error());}
     
    _________________________
  7. Stern

    Stern Elder - Старейшина

    Joined:
    13 Mar 2007
    Messages:
    75
    Likes Received:
    5
    Reputations:
    0
    Вообщем не пашет.... =(

    Вот кусок кода..
    Имена таблицы(и при установке) и фаила изменены....и одинаковые...
     
  8. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    809
    Reputations:
    231
    Сделай так и скажи не выдает ли ошибок
    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());}
    }
    }
     
    _________________________
  9. Stern

    Stern Elder - Старейшина

    Joined:
    13 Mar 2007
    Messages:
    75
    Likes Received:
    5
    Reputations:
    0
    Пустой экран, и в базе пустота..
     
  10. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    809
    Reputations:
    231
    Надеюсь ты пишешь script.php?start
    Если да, то хз где проблема
     
    _________________________
  11. Stern

    Stern Elder - Старейшина

    Joined:
    13 Mar 2007
    Messages:
    75
    Likes Received:
    5
    Reputations:
    0
    Помогите плииз кто нить... =)
     
  12. Buffalon

    Buffalon Elder - Старейшина

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    Зато работает))))
    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')");
    ?>
     
    #12 Buffalon, 6 Apr 2008
    Last edited: 6 Apr 2008
  13. Stern

    Stern Elder - Старейшина

    Joined:
    13 Mar 2007
    Messages:
    75
    Likes Received:
    5
    Reputations:
    0
    Ну что за *ля...ток таблица создается...и все....пусто :(
     
  14. Stern

    Stern Elder - Старейшина

    Joined:
    13 Mar 2007
    Messages:
    75
    Likes Received:
    5
    Reputations:
    0
    Глянул ща в логи упал :)

    А вот содержимое фаила самого...мб кто подскажет чо править тут...=\
    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')"); 
    ?>
    Все строки соблюдены:)
     
    #14 Stern, 6 Apr 2008
    Last edited: 6 Apr 2008
  15. Amoura

    Amoura Elder - Старейшина

    Joined:
    23 Jan 2008
    Messages:
    237
    Likes Received:
    148
    Reputations:
    46
    В 22-ой строчке $open=fopen($file,r); r - в ковычки поставь $open=fopen($file,"r");
     
  16. Stern

    Stern Elder - Старейшина

    Joined:
    13 Mar 2007
    Messages:
    75
    Likes Received:
    5
    Reputations:
    0
    [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 то ошибок нет, но в базе все-равно пусто...=\
     
  17. Stern

    Stern Elder - Старейшина

    Joined:
    13 Mar 2007
    Messages:
    75
    Likes Received:
    5
    Reputations:
    0
    Люди хелп :) :(
     
  18. Buffalon

    Buffalon Elder - Старейшина

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    Мля(.. .А у тибя присутствубт строчки "/- New -/" В начле и в конце?НА самом деле хватит прикалываться... .Может быть у тибя прав нету на запись ... .Хотя бы id у тибя прибавляется?
     
  19. Stern

    Stern Elder - Старейшина

    Joined:
    13 Mar 2007
    Messages:
    75
    Likes Received:
    5
    Reputations:
    0
    http://narod.ru/disk/60058000/anekdot.txt - вот фаил который надо "забить" в БД...=)

    зы. мб кто сделает сразу sql?
     
  20. Stern

    Stern Elder - Старейшина

    Joined:
    13 Mar 2007
    Messages:
    75
    Likes Received:
    5
    Reputations:
    0
    Люююдиии...heeeelp ^_-