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

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

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

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    if(strstr(file_get_contents('file.txt'), $_POST['phone']))){
       echo 
    'Телефон есть';
    }
    P.S $_POST[] - глобальный, ассоциативный массив =\
     
    #5221 Chaak, 5 Sep 2008
    Last edited: 5 Sep 2008
    1 person likes this.
  2. Gen1rus

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

    Joined:
    13 Jun 2007
    Messages:
    97
    Likes Received:
    166
    Reputations:
    20
    данные, которые вводятся в форму.
    если они будут повторяться, надо сделать чтобы не записывались повторно в test.php
     
    8 people like this.
  3. PEPSICOLA

    PEPSICOLA . . . . . 2L . . . . .

    Joined:
    14 Oct 2004
    Messages:
    1,025
    Likes Received:
    823
    Reputations:
    368
    У меня вопрос... ответьте пожалуйста. Люди, которые профессионально занимаются разработкой скриптов на php называются пиэчписты?
     
    3 people like this.
  4. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    я думаю просто php-программистами.
    Ведь тех, кто на Дельфи кодит не называют же дельфистами))) хотя хз
     
  5. PEPSICOLA

    PEPSICOLA . . . . . 2L . . . . .

    Joined:
    14 Oct 2004
    Messages:
    1,025
    Likes Received:
    823
    Reputations:
    368
    Ну не знаю если это можно сравнивать...
    Ведь людей кто ездит на кране - называют Крановщики.
    А тех, кто ездит на комбайнах, уже никак не назовешь...
     
    14 people like this.
  6. ExZoD

    ExZoD Member

    Joined:
    4 Jun 2008
    Messages:
    23
    Likes Received:
    6
    Reputations:
    0
    пехапешники =)
    так же как и сишники, шарповики (c#), делфятники и астматики =)
    сорри за стеб
     
    2 people like this.
  7. .:nbd:.

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

    Joined:
    27 Jul 2008
    Messages:
    97
    Likes Received:
    27
    Reputations:
    1
    Таких людей называют комбайнерами, а по теме php-программист, слышал не раз =)
     
  8. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Неа, пляхотумбами и коротомбами)))
    Это называется Senior PHP Developer.
     
  9. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Кто знает, что означают эти ошибки:
    Warning: mysql_query(): Unable to save result set in...
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in... ???
     
  10. Saint-Sky

    Saint-Sky Elder - Старейшина

    Joined:
    14 Jul 2007
    Messages:
    119
    Likes Received:
    77
    Reputations:
    27
    Есть файл vhosts.conf(~ 3,5 Mb).
    Пример одной записи из него:
    Code:
    <VirtualHost *>
      <Directory /home/sites/x/xxx.ru>
        Options +Includes
        # -FrontPage-
        IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
        <Limit GET POST>
          order deny,allow
          deny from all
          allow from all
        </Limit>
        <Limit PUT DELETE>
          order deny,allow
          deny from all
        </Limit>
    
        AuthName xxx.ru
        AuthUserFile /home/sites/x/xxx.ru/_vti_pvt/service.pwd
        AuthGroupFile /home/sites/x/xxx.ru/_vti_pvt/service.grp
      </Directory>
    
      ServerAdmin [email protected]
      DocumentRoot /home/sites/x/xxx.ru/
      ServerName xxx.ru
      ServerAlias www.xxx.ru
      ScriptAlias /cgi-bin/ /home/sites/x/xxx.ru/cgi-bin/
      CustomLog /usr/local/apache/logs/combined/xxx.ru.access_log combined
    
      BandWidthModule  "On"
      BandWidthPulse   1000000
      MaxConnection    0
      <Directory "/home/sites/x/xxx.ru">
       # 1 mbps channel
       BandWidth      all 131072
     </Directory>
    
    </VirtualHost>
    Мне нужно отпарсить его так, чтобы в другом файле были записи AuthName, AuthUserFile в виде xxx.ru:/home/sites/x/xxx.ru/_vti_pvt/service.pwd

    В регулярках я - полный ноль(в php тоже почти). Пропарсил много тем, но всё что пробывал - не работает...
    Последнее, на чем встал -
    PHP:
    <?php
    error_reporting
    (E_ALL);
    set_time_limit(0);
    $fr=fopen("t.txt","r");
    $fp=fopen('file.txt''a+');

    while (!
    feof ($fr)) 
    {
        
    $buffer fgets($fr,255);
        
            
    preg_match("#AuthName (.*)#"$buffer$r);
            
    preg_match("#AuthUserFile (.*)#"$buffer$r1);

            
    fwrite($fp$r[1].":".$r1[1]."\r\n");
        
    }
        echo 
    "Все сделано";

    fclose($fr);
    fclose($fp);
    ?>
    Но выводит в файл в виде:
    Code:
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    xxx.ru
    :
    :/home/sites/x/xxx.ru/_vti_pvt/service.pwd
    
    :
    :
    :
    :
    :
    :
    :
    :
    :
    Еще ошибка:
    В чём трабла?

    P.S. Про плюсы не забуду...
     
    #5230 Saint-Sky, 6 Sep 2008
    Last edited: 6 Sep 2008
  11. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Вторая ошибка возникает изза первой, а первая значит что запрос не может сохранить результат.

    P.S учите английский
     
  12. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Saint-Sky, во-первых, ты читаешь из файла не строки, а определеное число байт, и в переменную может попасть кусок текста например AuthUs, а при следующем чтении, оставшееся. Во-вторых, при каждой итерации цикла For будет записываться в выходной файл: <Пустая строка>:<пустая строка> Мой совет - учи регулярки, в жизни пригодится. Для тренировки можешь использовать например этот сайт:http://www.pcre.ru/eval/
    А так, вот пример для твоей задачи
    PHP:
    <?
    $f=file_get_contents('t.txt');
    $out=fopen("out2.txt",'a+');
    $j=1;
    $i=preg_match_all("#(<VirtualHost .*?>)([\s\S]*?)(AuthName )(\S*)([\s]*?)(AuthUserFile )(\S*)([\s\S]*?)(<\/VirtualHost>)\s*#i",$f,$matchPREG_PATTERN_ORDER);
    for (
    $j=0;$j<$i;$j++)
    {
        
    fwrite($out,$match[4][$j].":".$match[7][$j]."\r\n");
    }
    fclose($out);
    ?>
     
    _________________________
    #5232 Gifts, 6 Sep 2008
    Last edited: 6 Sep 2008
    1 person likes this.
  13. ++Norton++

    ++Norton++ Elder - Старейшина

    Joined:
    20 Nov 2006
    Messages:
    167
    Likes Received:
    39
    Reputations:
    0
    mmf
    Возможно результат не соответствует по типу. К примеру в базе INT а отправляется в запросе CHAR.
     
    1 person likes this.
  14. heretic1990

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

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    у меня тоже вопрос, чё это за ошибка и как её исправить

    Fatal error: Call to undefined function echo_message()
     
  15. Zircool

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

    Joined:
    1 Mar 2006
    Messages:
    162
    Likes Received:
    37
    Reputations:
    5
    Такая проблема,открываю файл как массив , в файле порядка 20 строк, нахожу нужную строку и заменяюю её на null т.е. удаляю, затем очищаю документ и перезаписываю в него уже обработанный массив(с удаленной строкой), но в тексте вновь записанного файла пустая строка, а должна быть не пустая строка а следующий файл на её месте.. вот код
    PHP:

    $delname
    =file('linklist.txt');
    $delname=str_replace($_POST['unlinkfile'],null,$delname);
    $clear=fopen("linklist.txt""w");
    $delname=implode("",$delname);
    $taglist fopen("linklist.txt""a+");
              
    fwrite($taglist$delname);
              
    fclose($taglist);

    Файл linklist.txt был таким
    а после обработки становится таким, к примеру удалим 3
    а должно быть таким
    Как это исправить?
     
  16. D Mak

    D Mak Elder - Старейшина

    Joined:
    23 Jun 2007
    Messages:
    136
    Likes Received:
    27
    Reputations:
    0
    Zircool проще так:
    PHP:
    $file file('list');
    unset(
    $file(array_search($POST['delet'], $file)));
    $fp fopen('list'"w");
    foreach(
    $file as $strfwrite($fp$str."\r\n");
    fclose($fp);
     
    1 person likes this.
  17. D Mak

    D Mak Elder - Старейшина

    Joined:
    23 Jun 2007
    Messages:
    136
    Likes Received:
    27
    Reputations:
    0
    ты англицки не учил?
    че за функция такая? откуда ты ее взял?
     
  18. Fuckel

    Fuckel Banned

    Joined:
    16 Jan 2008
    Messages:
    274
    Likes Received:
    59
    Reputations:
    6
    у тебя скрипт вызывает не описанную функцию echo_message().
     
  19. Zircool

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

    Joined:
    1 Mar 2006
    Messages:
    162
    Likes Received:
    37
    Reputations:
    5
    D Mak

    Может быть и проще но у меня ешё есть выражение с регуляркой...

    PHP:
    $deltag=file('tags.php');
    $deltag=preg_replace('#<a href=\"'.$_POST['unlinkfile'].'\">(.*?)</a>,#is',null,$deltag);
    $deltag=implode("",$deltag);
    $clear_tags=fopen("tags.php""w");
    $taglist2 fopen("tags.php""a+");
              
    fwrite($taglist2$deltag);
              
    fclose($taglist2);
    Как в таком случае поступить?
     
  20. D Mak

    D Mak Elder - Старейшина

    Joined:
    23 Jun 2007
    Messages:
    136
    Likes Received:
    27
    Reputations:
    0
    тогда лучше ваще читать не file-ом а get_file_contents-ом
    и preg_replace("#</a>\r\n#si", null, $str);

    ЗЫ а нафига ты два раза в конце файл открываешь?
     
Thread Status:
Not open for further replies.