[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. Edward

    Edward Banned

    Joined:
    11 Feb 2010
    Messages:
    329
    Likes Received:
    21
    Reputations:
    -1
    Ребят такой вопрос, хочу со страницы спарсить все ссылки, для этого использую функцию file_get_contents, вот пример:

    PHP:
    $file "file.txt";
    $result file_get_contents($file);
    echo 
    "$result";
    Выводит все страницой, т.е. в файле file.txt исходник страницы со всеми html тегами, но браузер все равно их интерпритирует, несмотря на то, что расширение .txt. пробовал даже

    PHP:
    $file "view-source:localhost/file.html";

    В этом случае выдает ошибку.

    Ну и раз поскольку пишу приведите пример кода, который спарсит и запишет файл все ссылки с исходника, понимаю это как то так: регулярное выражение типа начинающееся на <a href=Эпотом линк и заканчивающийся ". В массив что бы вбить все линки, потом в цикле в файле записать
     
    #16841 Edward, 12 Nov 2010
    Last edited: 12 Nov 2010
  2. .:[melkiy]:.

    .:[melkiy]:. Elder - Старейшина

    Joined:
    25 Jan 2009
    Messages:
    355
    Likes Received:
    314
    Reputations:
    163
    как в цикле вывести числа от 10 до 10000? т.е 10, 20, 30, 40 и т.д
     
  3. Edward

    Edward Banned

    Joined:
    11 Feb 2010
    Messages:
    329
    Likes Received:
    21
    Reputations:
    -1
    PHP:
    for ($i=10$i <= 10000$i += 10 ) {
       echo 
    $i."<br>";
    }
     
    2 people like this.
  4. -slim-

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

    Joined:
    25 May 2007
    Messages:
    99
    Likes Received:
    12
    Reputations:
    0
    у меня вся информация сохраняется в основную таблицу
    ограничения нету по объему таблицы?
    т.е сейчас она 150 кб, но скоро будет 5 мб например
    грузится все равно будет нормально в базу?

    .....

    и еще вопрос

    на денвере я делаю сайт, добавил что-то новое, потом копирую содержание таблицы, удаляю там и заливаю обновленную
    скажите, как можно просто дополнять информацию? или как будет лучше
    спасибо

    сорри за детские вопросы :rolleyes:
     
    #16844 -slim-, 12 Nov 2010
    Last edited: 12 Nov 2010
  5. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Ну пхпмайадмин при добавлении в готовую таблицу строки дает код, выполняешь его на сервере тоже в пхпмайадмин и все. Если я все правильно понял...

    5mb не размер, даже 150, таблицы приспособлены для большого кол-ва запросов и т.д
    Дальше уже дело в коде, будет у тебя 1 длинный запрос для вывода или 100500 мелких со всевозможными циклами и подзапросами. (1 длинный быстрее кучи коротких).
    Опимизируй код, чтоб он не тероризировал базу и все будет гуд и при 1 гиге инфы
     
  6. Фараон

    Фараон коКотэ Of Antichat

    Joined:
    7 Nov 2010
    Messages:
    153
    Likes Received:
    105
    Reputations:
    83
    Дополнить можно запросом:
    PHP:
    insert into имя_таблицы (колонка1,колонка2values ('тут пишем, то что добавлять в колонку 1','тут пишем, то что добавлять в колонку 2')
    Удалять можно запросом:
    PHP:
    Delete from имя_таблицы where id=2
    Если что-то не поняли - пишите в ПМ или тут.
     
  7. -slim-

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

    Joined:
    25 May 2007
    Messages:
    99
    Likes Received:
    12
    Reputations:
    0
    дополнить - в смыле открыть таблицу в текстовом виде на сервере, скопировать с денвера обновление, вставить в таблицу и сохранить
    типа этого

    еще вопрос
    у меня ссылки на файлы идут http://get.site.ua/test.rar например
    если я сменю домен, эти же ссылки станут недоступны, тогда придется каждую ссылку подправлять
    как можно сделать, чтоб вместо site.ua подставляло что-то, что можно с легкостью изменить, скажем на другой адрес?
    переменная ведь не катит и ip адрес тоже

    сорри за груз, я честно без понятия на такие вещи
     
  8. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    -slim-
    PHP:
    echo $_SERVER["SERVER_NAME"];
     
    _________________________
  9. -slim-

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

    Joined:
    25 May 2007
    Messages:
    99
    Likes Received:
    12
    Reputations:
    0
    Разобрался со всем. Спасибо, господа
     
  10. alex_zp

    alex_zp New Member

    Joined:
    5 Nov 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    шаг №1- передали POST запросом данные, загрузилась форма, все данные есть в POST массиве. Шаг №2 - нажимаем кнопочку - происходит передача данных из POST массива через json этому же файлу, Шаг №3 - получаем ответ от запроса и выводим результат в нужный div.
    Вот так я отправляю массив POST текущему файлу, с параметром, что это именно запрос "json"
    PHP:
            <html>        
            <head>    
             <script language="JavaScript">
                function SendPOST(){
                    var data = document.getElementById('next_page').value;    
                    var array_post ="<?=json_encode($_POST);?>";                    
                    ajaxSendPOST('process_posting.php','id_next_page='+encodeURI(data)+'&array_post='+encodeURI(array_post), SendCallback);
                }
                function SendCallback(answer) { var ans = ( '(' + answer + ')' );
                // Преобразуем полученный в данных объект из текстового вида 
                    document.getElementById('div_next').innerHTML=ans; 
                }
                function ajaxSendPOST(xmlpage,data,callback)
                {
                    var xmlh = null;
                    if(window.XMLHttpRequest)
                    xmlh = new XMLHttpRequest();
                    else
                    try
                    { xmlh = new ActiveXObject('Msxml2.XMLHTTP'); }
                    catch(ex) { xmlh = new ActiveXObject('Microsoft.XMLHTTP'); }
                    if(xmlh)
                    {
                        xmlh.open('post', xmlpage, true);
                        xmlh.onreadystatechange = function(x) { if(xmlh.readyState==4) callback(xmlh.responseText); }
                        xmlh.setRequestHeader("Accept-Charset", "utf-8");
                        xmlh.setRequestHeader("Accept-Language","ru, en");
                        xmlh.setRequestHeader("Connection", "close");
                        xmlh.setRequestHeader("Content-length", data.length); // Длинна отправляемых данных
                        xmlh.setRequestHeader("Content-type", "application/json");
                        xmlh.send(data); // Именно здесь отправляются данные
                    }
                }
             </script>
            </head>
            <body>
            <input type="hidden" name="next_page" id="next_page" value="0">
            <input type="button" onclick="javascript:SendPOST()"  id="bb1" value="Next site">
            <div id="div_next"></div>
            </body>    
            </html>
    В функции ПХП получаю таким образом данные
    PHP:
    $data=json_decode($_REQUEST['post_masiv']);
    не получается передать POST массив таким образом и соответственно, не получается вывести результат в нужный div. Подскажите что делаю не так, кто разбирается с Аяксом.
     
  11. Afarcheg

    Afarcheg New Member

    Joined:
    20 Jul 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Народ нужна помош.

    Как сделать такую веш? Допустем ктото из вас мне отправил сообшение и я его неувижу пока необнавлю страничку. А как сделать чтоб страничка сама обнавилась в нужное время. ???
     
  12. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    Делаешь таймер на JS событие которое AJAX'ом проверяет наличие новых сообщений.
    Если они есть также Ajax'ом добавлять в список.
    Либо просто по таймеру обновляй страницу
     
  13. Afarcheg

    Afarcheg New Member

    Joined:
    20 Jul 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Можно пример какойта ?
     
  14. alex_zp

    alex_zp New Member

    Joined:
    5 Nov 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
  15. geforse

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

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    file.txt
    PHP:
    123|превед|медвед|
    456|тест|тест|
    Есть такой файл. В скрипт (на вход) получаю 123, нужно вывести превед|медвед|

    Можно сделать через file() и перебирать каждый элемент, но файл этот очень здоровый, хотел сделать так:
    PHP:
    preg_match('#^'.$_POST['num'].'|(.*?)$#i',file_get_contents('file.txt'),$result);
    но в $result[0] постоянно последняя строка файла o_0
     
  16. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    geforse http://mysql.com, http://sqlite.org
     
    _________________________
  17. Afarcheg

    Afarcheg New Member

    Joined:
    20 Jul 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Нечё там непонел... =[[ а это можно както на пхп сделать ?
     
  18. alex_zp

    alex_zp New Member

    Joined:
    5 Nov 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    А если так?
    PHP:
    preg_match('/\|(.*?)\|(.*?)\|/',file_get_contents('file.txt'),$result )
     
  19. alex_zp

    alex_zp New Member

    Joined:
    5 Nov 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    Можно, подключаете к ПХП дополнительные библиотеке и делаете.
     
  20. geforse

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

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    alex_zp, не, что-то не то...

    Это всё, конечно, очень хорошо, но БД меня не интересует. Клиент требует именно файл.
     
Thread Status:
Not open for further replies.