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

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

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

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    А как насчет ООП ? Он не парсит классы, и приинклуднутые файлы же ? Я не заметил етих удобств в нем.
     
  2. .::BARS::.

    .::BARS::. Elder - Старейшина

    Joined:
    13 Oct 2007
    Messages:
    379
    Likes Received:
    45
    Reputations:
    10
    Geany - очень устраивает.....
    а раньше был np++ , но теперь он на пенсии =)))
     
  3. Alexander123

    Alexander123 New Member

    Joined:
    30 Oct 2009
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Помогите написать(дайте материалы) по созданию пхп скрипта который при подключении к инету компьютера отправляет айпи компа на нужную мне почту!!!!!!!!!
    айпи меняется ежедневно!!!!!!!!!
     
  4. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    У меня есть скрипт который проверяет онлайн ли машиа на введенном порте и ип
    Но данный скрипт сильно тормозит весь сайт
    Может есть решение быстрее это сделать?

    PHP:
    function ping($ip,$port){
          
    $fp = @fsockopen($ip$port, &$errno, &$errstr2);
          if(
    $fp >= 1){$online =  '1';}else{$online =  '0';}
          return 
    $online;
        }
     
  5. namak

    namak Member

    Joined:
    29 Jan 2009
    Messages:
    66
    Likes Received:
    8
    Reputations:
    0
    1.как на php или на javascript вывести на страничке кол-во файлов из заданной папки.
    2. и тоже самое, только например, кол-во фалов формата JPG, из заданной папки
     
  6. WNZRS

    WNZRS Member

    Joined:
    3 Sep 2009
    Messages:
    294
    Likes Received:
    52
    Reputations:
    1
    PHP:
    $dir scandir('folder'); // Сканируем папку
    unset($dir[0]); unset($dir[1]); // Удаляем точки
    echo 'In folder '.(sizeof($dir)).' files<br>'// Выводим
    for($i=2$i<sizefof($dir); $i++)
    if(
    strcmp(substr($dir[$i], -4), '.jpg') != 0) unset($dir[$i]); // Фильтруем
    echo 'In folder '.(sizeof($dir)).' JPG files<br>'// Выводим то что осталось после фильтра
     
    1 person likes this.
  7. Alexander123

    Alexander123 New Member

    Joined:
    30 Oct 2009
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    хэлп ... когда пользователь включает инет скрипт должен незаметно зайти на сайт например 2ip.ru и отправить на почту айпи который находится на сайте... это возможно???Желательно пхп
     
  8. Solker

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

    Joined:
    4 May 2006
    Messages:
    175
    Likes Received:
    53
    Reputations:
    18
    Alexander123
    Заходим на www.whatismyip.com, парсим Ip.
    Потом через smtp, например майла, отправляем сами себе письмо с этим IP.
    Пихаем в крон и выполняем каждые 5 минут.

    PHP:
    <?php

    $file 
    file_get_contents('http://www.whatismyip.ru/');
    preg_match('#^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)$#m',$file,$matches);
    $my_ip $matches[1];
    $my_email '[email protected]';

    mail($my_email,'My IP',$my_ip);

    ?>
    Это без настройки smtp майла.

    namak
    PHP:
    <?php

    //1.как на php или на javascript вывести на страничке кол-во файлов из заданной папки.

    $dir 'C:\\'// Windows
    //$dir = '/root'; // Linux

    $files scandir($dir);
    echo 
    "Count files in $dir - ".count($files)."<br/>".chr(10);

    //2. и тоже самое, только например, кол-во фалов формата JPG, из заданной папки

    $count_jpg 0;
    foreach(
    $files as $file)
        if(
    strtolower(substr($file,-3,3)) == 'jpg' or strtolower(substr($file,-3,3)) == 'jpeg'$count_jpg++;
        
    echo 
    "Count *. jpg files in $dir - ".$count_jpg."<br/>".chr(10);  

    ?>
     
    #13668 Solker, 25 Jan 2010
    Last edited: 25 Jan 2010
    3 people like this.
  9. Solker

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

    Joined:
    4 May 2006
    Messages:
    175
    Likes Received:
    53
    Reputations:
    18
    По моему это самое быстрое решение, ИМХО. Таймаут понизь, что бы не ждать, если сервер не отвечает.

    Можно запихнуть в крон и сделать, что бы он записывал в файл, каждую минуту, статус сервера, status.txt.
    А основной скрипт, просто будет читать этот файл. Это снизит нагрузку на сервер и он каждый раз не будет отправлять запрос.
    Но тогда статус сервера мы будем получать с задержкой в одну минуту.
     
  10. Alexander123

    Alexander123 New Member

    Joined:
    30 Oct 2009
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Пихаем в крон и выполняем каждые 5 минут..... парсим Ip....
    кто имеет представление что это такое?????????
     
  11. namak

    namak Member

    Joined:
    29 Jan 2009
    Messages:
    66
    Likes Received:
    8
    Reputations:
    0

    это мне больше понравилось,
    но надо for($i=2; $i<sizeof($dir); $i++) а не for($i=2; $i<sizefof($dir); $i++)

    и ко второй части с jpg все норм работает и считает правильно
    по аналогии изменил на gif и еще на png, и к ним выводятся числа одинаковые, и не правильные.
    не смог решить проблему эту
     
  12. WNZRS

    WNZRS Member

    Joined:
    3 Sep 2009
    Messages:
    294
    Likes Received:
    52
    Reputations:
    1
    Если ты добавляешь png и gif, то скрипт должен выглядеть так

    PHP:
    $sdir scandir('folder'); // Сканируем папку
    unset($sdir[0]); unset($sdir[1]); // Удаляем точки
    echo 'In folder '.(sizeof($sdir)).' files<br>'// Выводим
    $dir $sdir;
    for(
    $i=2$i<sizefo($sdir); $i++)
    if(
    strcmp(substr($dir[$i], -4), '.jpg') != 0) unset($dir[$i]); // Фильтруем
    echo 'In folder '.(sizeof($dir)).' JPG files<br>'// Выводим то что осталось после фильтра 
    $dir $sdir;
    for(
    $i=2$i<sizefo($sdir); $i++)
    if(
    strcmp(substr($dir[$i], -4), '.gif') != 0) unset($dir[$i]); // Фильтруем
    echo 'In folder '.(sizeof($dir)).' GIF files<br>'// Выводим то что осталось после фильтра   
    $dir $sdir;
    for(
    $i=2$i<sizefo($sdir); $i++)
    if(
    strcmp(substr($dir[$i], -4), '.png') != 0) unset($dir[$i]); // Фильтруем
    echo 'In folder '.(sizeof($dir)).' PNG files<br>'// Выводим то что осталось после фильтра  
     
    1 person likes this.
  13. antihay

    antihay Banned

    Joined:
    25 Jan 2010
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Доброго времени суток.

    Долго искал в поисковиках, находил сплошной бред. Хочу замутить такую фигню, как вывод html-страниц посредством PHP. В самом деле на первый взгляд фигня, потому что работать будет без MySQL.
    Конкретно, имеются несколько директорий, в каждой имеются субдиректории и 10-20 файлов. Необходимо организовать скрипт таким образом, чтобы при переходе по меню, html-файл выводился в центре страницы, с сохранением шапки, меню, подвала.
    Слепил нечто подобное с применением SSI, но хочется попробовать, как получится на PHP.

    Вот примерно такая схема:

    [​IMG]
     
  14. Fuckel

    Fuckel Banned

    Joined:
    16 Jan 2008
    Messages:
    274
    Likes Received:
    59
    Reputations:
    6
    Так делай инклуд по параметру в индексе, а хэдер и футер сделай статичным.
     
  15. antihay

    antihay Banned

    Joined:
    25 Jan 2010
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Айн момент

    header.php

    Code:
    <HTML>
    <HEAD> <TITLE>Пробный двиг PHP</TITLE>
    <META http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <META http-equiv="Content-Language" content="ru"> </HEAD>
    <BODY>
    <H2>Пробный двиг PHP</H2>
    <TABLE width="100%"><TR> <TD width="17%" valign="top"> <BR> <BR> <P><a href="index.php">Раздел 1</a> <P><a href="section2.php">Раздел 2</a> <P><a href="section3.php">Раздел 3</a> <P><a href="section4.php">Раздел 4</a> </TD>
    _______________

    footer.php

    Code:
    <BR> <BR>
    </BODY>
    </HTML>
    _______________

    index.php

    Code:
    <? include("header.php"); //подключаю верх ?>
    <TD width="83%" valign="top"> <CENTER> <H2>Раздел1. Главная страница</H2>
    </CENTER> <!------- Ввожу текст --------> <P>
    </TD> </TR> </TABLE> <? include("footer.php"); //подключаю подвал ?>
    _______________


    section2.php

    Code:
    <? include("header.php"); //подключаю верх ?>
    <TD width="83%" valign="top">
    <CENTER><H2>Раздел 2</H2> </CENTER>
    <!------- Ввожу текст, ссылки --------> <P> </TD> </TR> </TABLE>
    <? include("footer.php"); //подключаю подвал ?>
    .... и так далее.
    После пары бутылей пива получилось. Но остается одна проблема, и как начинающий не могу ее решить, а именно:

    Вышеприведенным методом получается вывести html-файлы, если они хранятся в корневой директории (например, "site.com/file.php"). Но когда ставлю ссылку на файл, хранящийся в поддиректории, допустим "site.com/subfolder/file.php", выводится ошибка:

    Выводится центр страницы, но header и footer пропадают. Думал что можно бы решить задачу, добавив в инклуд путь файла:
    Code:
    <? include("[B][COLOR=DarkOrange]..[/COLOR][/B]/header.php");
    ?>
    Однако возникает новая проблема, в навигации. То есть со страницы назад не попадешь, потому что URL выдается криво, в него автоматически попадает тот самый subfolder. Например, site.com/subfolder/файл главной страницы.



    Кстати, та же проблема получается в варианте с SSI, такой же вариант я попытался замутить на SSI
     
    #13675 antihay, 26 Jan 2010
    Last edited: 26 Jan 2010
  16. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Помогите с preg_match()

    нужно из строки
    Code:
    e-mail:&nbsp; &nbsp;&nbsp; <a href="mailto:[email protected]">[email protected]</a><br>
    выдрать [email protected]

    пишу:
    PHP:
    preg_match("#e-mail:&nbsp; &nbsp;&nbsp; <a href=\"mailto: *\">(.*?)</a><br>#"$answer$out);
    но не работает :(
     
  17. GlooK

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

    Joined:
    20 Apr 2007
    Messages:
    172
    Likes Received:
    53
    Reputations:
    10
    А так не пойдет?
    PHP:
    preg_match("#mailto\:(.*?)\"#"$answer$out);
     
    2 people like this.
  18. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    GlooK, спасибо большое!
     
  19. +casper+

    +casper+ Banned

    Joined:
    27 Jun 2009
    Messages:
    158
    Likes Received:
    34
    Reputations:
    0
    Хм. С поиска... Разве что с определенных сайтов, а с поиском будет посложней. Опиши поконкретней, тебе скрипт полностью автоматический или как?
     
  20. Jazz

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

    Joined:
    27 Sep 2008
    Messages:
    80
    Likes Received:
    2
    Reputations:
    -1
    можно занести исходный код чужого сайта себе в переменную?если да то как это сделать?
     
Thread Status:
Not open for further replies.