За последние 24 часа нас посетили 17898 программистов и 1641 робот. Сейчас ищут 1446 программистов ...

Как загнать массив в базу?

Тема в разделе "PHP и базы данных", создана пользователем ww3, 13 апр 2009.

  1. ww3

    ww3 Активный пользователь

    С нами с:
    11 апр 2009
    Сообщения:
    5
    Симпатии:
    0
    есть массив:
    PHP:
    1. function html_to_array( $url, $element = null )
    2. {
    3.     if( !( $data = file_get_contents( $url ) ) )
    4.         return false;
    5.    
    6.     preg_match_all( '~<img.*?>(</img>)?~si', $data, $page['img'] );
    7.     preg_match_all( '~<p.*?>.*?[^<]</p>~', $data, $page['p'] );
    8.     preg_match_all( '~<a.*?[^>].*[^<]</a>~', $data, $page['Link'] );
    9.     return !is_null( $element ) ? $page[ $element ] : $page ;
    10. }
    как загнать его в MySQL?
     
  2. kas1e

    kas1e Активный пользователь

    С нами с:
    6 апр 2009
    Сообщения:
    280
    Симпатии:
    0
    склеивай сплитом в одну строку через цикл, при вытаскивании - эксплодом перегоняй обратно в массив. как вариант.
     
  3. ww3

    ww3 Активный пользователь

    С нами с:
    11 апр 2009
    Сообщения:
    5
    Симпатии:
    0
    попутно возник вопрос:
    PHP:
    1. function display_links( $links, $htmlentities = true )
    2. {
    3. foreach( html_to_array( 'http://test.ru', 'Link' ) as $links )
    4. {
    5.     printf("I found %d links, here they are :<br />\n %s",
    6.            count( $links ),
    7.            display_links( $links )
    8.     );
    9.     }
    10.  
    - выводит ссылки;
    как вывести, например, картинки и другие теги?

    PS: этот вопрос не совсем в тему раздела, просто не хотелось создавать дубль.
     
  4. kostyl

    kostyl Guest

    serialize
     
  5. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    serialize
    unserialize
     
  6. istifadeci

    istifadeci Активный пользователь

    С нами с:
    19 апр 2009
    Сообщения:
    6
    Симпатии:
    0
    Ребята, у меня друг просил помошь о БД, а я не мог и вот обрашаюс k вам. Можна на етом скрипте исползоват база данных вместо "passwords.txt". Если можна, то как?

    *password.txt
    [css]<?php
    session_start();
    // put k faylu s parolyami
    $path = 'passwords.txt';
    // adres stranichi, na kotoriy nujna peresilat posle avtorizchii
    $page = 'http://serfeli.az';

    if(strtoupper($_SERVER['REQUEST_METHOD'])=='POST'){
    // esli vveli parol
    if(isset($_POST['password']) && ! empty($_POST['password'])){
    $passwords = array();
    $tmp_pass = array();
    $doLogin = false;
    // chitaem paroli i kol-vo zaxodov v massiv
    $passwords = file($path);

    foreach($passwords as $k=>$v){
    // $tmp_pass = array(0 => parol, 1 => zaxodi)
    $tmp_pass = explode('|',$v);
    $tmp_pass[1] = trim($tmp_pass[1]);

    // proveryayem parol i skolko raz ego ispolzivali
    if($tmp_pass[0] == $_POST['password'] && $tmp_pass[1]>0){

    // esli vsyo v paryadke to umenshaem kolichestvo zaxodov na 1
    $passwords[$k] = $tmp_pass[0].'|'.(--$tmp_pass[1]);
    $doLogin = true;
    break;
    }
    }
    if($doLogin){
    $_SESSION['auth']=true;
    // obnavlyayem dannie v fayle
    file_put_contents($path,implode("\r\n",$passwords));
    // redidirektim stranichu na avtorizovannix
    header('Location: '.$page);die;
    }
    $error = 'Vash parol ne podxodit';
    }
    else{
    $error = 'Vvedite parol';
    }
    }
    ?>
    <form method="post">
    <?=isset($error)?$error.'<br />':null?>
    Parol: <input name="password" type="password" /> <input type="submit" name="go" value="Vxod" />
    </form>
    [/css]