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

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

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

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

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    Там вроде апач и так все привелегии имеет на сколько я знаю
     
    2 people like this.
  2. n3m0

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

    Joined:
    11 May 2007
    Messages:
    133
    Likes Received:
    92
    Reputations:
    11
    Думаю, если переместить пользователя www-data(www-пользователь, через которого выполняются веб-приложения) в группу root, то он будет обладать такими же правами:

    useradd -g {group-name} username
    Code:
    
    useradd -g root www-data
     
    #5702 n3m0, 2 Oct 2008
    Last edited: 2 Oct 2008
    1 person likes this.
  3. pento

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

    Joined:
    3 Jul 2006
    Messages:
    126
    Likes Received:
    24
    Reputations:
    -1
    sudo?
     
  4. spamoney

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

    Joined:
    26 Dec 2006
    Messages:
    120
    Likes Received:
    7
    Reputations:
    1
    Предложенный вариант от Gifts, работает, но немного не так

    1.) Допустим если я меняю текст на (т.е после 25 символов нет точки/вопроса/восклицания):

    Code:
    <b>Привет</b>. <strong>Бла-бла-бла</strong> <tr><td>Текст - Текст - Текст</td></tr>
    то вылазит ошибка:

    Code:
    Notice: Undefined offset: 1 in z:\***\www\script.php on line 12
    тогда уж если нет точки/вопроса/восклицания, то пусть просто обрезает не менее 25 символов и до конца слова, т.е так:

    Code:
    <b>Привет</b>. <strong>Бла-бла-бла
    2.) Нужно обрезеать не все тэги, а только незакрытые, т.е так:

    Code:
    <b>Привет</b>. Бла-бла-бла
    Можно ли как нибудь всё это реализовать???
     
  5. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    spamoney Регулярка, если нет пробелов
    PHP:
    ^([\s\S]{25}(?:[^\!\.\?]*[\.\!\?]|\S*\s))
    Убирать лучше все теги - а то останется какой нить tr, hr, br и так далее, И будешь с ними мучаться. А так - весь вывод будет в одном стиле, например первое слово жирное, остальное курсивом. Опять таки полученная длина строчки будет меньше, чем 25 символов и т.д. и т.п.

    Ну если очень хочется удалять не закрытые - то будет что-то вроде вот этого:

    PHP:
        $str="<b>Привет</b>. <strong>Бла-бла-бла.</strong><tr><td>Текст - Текст - Текст</td></tr>";
        
    preg_match('#^([\s\S]{25}(?:[^\!\.\?]*[\.\!\?]|\S*\s))#i',$str,$match);
        
    $code $match[1];
        
    $code preg_replace('|<(\w+)(\s*.*)>(.*)</\1>|Usi''{{$1$2}}$3{{/$1}}'$code);
        
    $code strip_tags($code);
        
    $code preg_replace('|{{(\w+)(\s*.*)}}(.*){{/\1}}|Usi''<$1$2>$3</$1>'$code);
        print 
    $code;
     
    _________________________
  6. MaSTeR GэN

    MaSTeR GэN Member

    Joined:
    23 May 2008
    Messages:
    102
    Likes Received:
    54
    Reputations:
    7
    помогите составить регулярку для дампа Mssql :
    PHP:
    <p>Microsoft OLE DB Provider for ODBC Drivers</font> <font face="Arial" size=2>error '80040e07'</font>
    <
    p>
    <
    font face="Arial" size=2>[Microsoft][ODBC SQL Server Driver][SQL Server]È stato rilevato un errore di sintassi durante la conversione del valore nvarchar '1:[email protected]:fabio:1:Elena:Abbà::Via BOVE 14:Torino:10129:TO:011 5097327::' in una colonna di tipo int.</font>
    <
    p>
    <
    font face="Arial" size=2>/myclub/lista/_aggiungi.asp</font><font face="Arial" size=2>, line 4</font>
    Оставить нужно только "1:[email protected]:fabio:1:Elena:Abbà::Via BOVE 14:Torino:10129:TO:011 5097327::"
    и есче не поджкажите при использовании curl можно ли работать с кодом страницы без записи её в фаил то есть получил страницу прогнал через регулярку и записал только нужное сразу в фаил а не какждый раз просматривать фаил и удалять не нужное ?
     
  7. NuR

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

    Joined:
    11 Dec 2005
    Messages:
    85
    Likes Received:
    58
    Reputations:
    -2
    вот лови

    preg_match_all("/nvarchar\040'(.*)'\040in\040una\040colonna/",$str,$matches);
    var_dump($matches);
     
    1 person likes this.
  8. MaSTeR GэN

    MaSTeR GэN Member

    Joined:
    23 May 2008
    Messages:
    102
    Likes Received:
    54
    Reputations:
    7
    cпс ну и есче остался второй вопрос :
    и есче не поджкажите при использовании curl можно ли работать с кодом страницы без записи её в фаил то есть получил страницу прогнал через регулярку и записал только нужное сразу в фаил а не какждый раз просматривать фаил и удалять не нужное ?
     
  9. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    MaSTeR GэN
    PHP:
    "#del valore \S* \'([^\']*)\'#i"
    Насчет курла - люди так обычно и делают. Покажи пример как ты используешь курл
     
    _________________________
    #5709 Gifts, 2 Oct 2008
    Last edited: 2 Oct 2008
    1 person likes this.
  10. inlanger

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

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    Можно работать с переменной, так же, как и с файлом.
     
    2 people like this.
  11. MaSTeR GэN

    MaSTeR GэN Member

    Joined:
    23 May 2008
    Messages:
    102
    Likes Received:
    54
    Reputations:
    7
    PHP:
    ............................................................................
    function 
    sd_gt($get_url,$desp)
    {
    $ch curl_init();
    curl_setopt($chCURLOPT_URL$get_url);
    curl_setopt($ch,CURLOPT_COOKIEFILE,"./htdocs/1.txt");
    curl_setopt($chCURLOPT_HEADER,0);
    curl_setopt($chCURLOPT_CONNECTTIMEOUT,30);
    curl_setopt($chCURLOPT_FOLLOWLOCATION,0);
    curl_setopt($chCURLOPT_FILE,$desp);
    return 
    $data curl_exec($ch);
    }

    $postfix 2;
    $get_url="site.com/direct"
    $filename "base".$postfix;
    $desp fopen ($filename,"a+")
    sd_gt($get_url,$desp);
    fclose($desp); 
    ............................................................................
     
    #5711 MaSTeR GэN, 2 Oct 2008
    Last edited: 2 Oct 2008
  12. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    function openConnection($action,$follow,$timeout,$header,$cookie,$method,$fields false,$referer false$proxy false)
        {
            
    $ch curl_init($action);

            
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
            
    curl_setopt($ch,CURLOPT_FAILONERROR,0);
            
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,$follow);
            
    curl_setopt($ch,CURLOPT_TIMEOUT,$timeout);
            
    curl_setopt($ch,CURLOPT_HEADER,$header);
            
    curl_setopt($ch,CURLOPT_COOKIE,$cookie);
            
    curl_setopt($ch,CURLOPT_REFERER,$referer);
            
    curl_setopt($ch,CURLOPT_USERAGENT,'Opera/9.52 (Windows NT 5.1;ruRu)');
            
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
            if(
    $method == 'POST')
            {
                
    curl_setopt($ch,CURLOPT_POST,1);
                
    curl_setopt($ch,CURLOPT_POSTFIELDS,$fields);
            }

            if(
    $proxy)
            {
                
    curl_setopt($ch,CURLOPT_PROXY,$proxy);
            }

            if(
    $res curl_exec($ch))
            {
                
    curl_close($ch);
                return 
    $res;
            }
            else
            {
                return 
    false;
            }
        }
    Вот моя функция работы =) поддерживает прокси

    Прокси указывать не обязательно. Реферер тоже. Поля для поста тоже не обязательно. Если используешь POST, то напиши в параметре method - POST(Заглавными буквами)
     
  13. MaSTeR GэN

    MaSTeR GэN Member

    Joined:
    23 May 2008
    Messages:
    102
    Likes Received:
    54
    Reputations:
    7
    спс коненчо у меня вот только вопрос результат работы как вывести в массив ?
     
  14. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    MaSTeR GэN Вместо curl_setopt($ch, CURLOPT_FILE,$desp); пишите curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); Тогда функция будет возвращать полученную строку
     
    _________________________
    #5714 Gifts, 2 Oct 2008
    Last edited: 3 Oct 2008
  15. .::BARS::.

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

    Joined:
    13 Oct 2007
    Messages:
    379
    Likes Received:
    45
    Reputations:
    10
    Подскажите как массово промаркировать картинки на сервере. Заметьте, картинки не в одной папке. Промаркировать - на каждую картинку прилепить свой логотип.
     
  16. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    пройтись по всем папкам,opendir'ом,смотреть тип файла,если подходящий - с помощью GD открывать(imagecreatefrom***) ну и накладывать уже
     
  17. .::BARS::.

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

    Joined:
    13 Oct 2007
    Messages:
    379
    Likes Received:
    45
    Reputations:
    10
    Пример если можно...
     
  18. 159932

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

    Joined:
    28 Sep 2007
    Messages:
    587
    Likes Received:
    462
    Reputations:
    5
    http://il.php.net/manual/ru/ref.image.php
     
  19. 159932

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

    Joined:
    28 Sep 2007
    Messages:
    587
    Likes Received:
    462
    Reputations:
    5
    PHP:
    <?
    $ch curl_init();
    curl_setopt($chCURLOPT_URL,                'http://macca.devstars.eu/phpBB2/login.php');        # кулды кулды :) // сайт для примера..
    curl_setopt($chCURLOPT_POST,                1);                                                    # главпочтамп .
    curl_setopt($chCURLOPT_RETURNTRANSFER,     1);                                                    # ретурнить трансферу ..
    curl_setopt($chCURLOPT_FOLLOWLOCATION,     1);                                                    # сдедовать за локацией
    curl_setopt($chCURLOPT_TIMEOUT,            3600);                                                # час тайм аута !!! ха ха ха    
    curl_setopt($chCURLOPT_HEADER,            1);                                                 # а тут это вот .. ну короче для дальнейших действий .. куки вытащить итд
    curl_setopt($chCURLOPT_USERAGENT,            'Opera/9.52 (Windows NT 5.1; U; ru)');                # волшебный браузер .. опера !!!
    curl_setopt($chCURLOPT_COOKIE,            'хуяссе .. тут куки весёлые .. но моно и без них');        #это для дальнейшего ..
    curl_setopt($chCURLOPT_POSTFIELDS,        'username=159932login&password=159932password&redirect=&login=Log+in');            # почтовые поля ..
    $result curl_exec($ch);
    ?>
    http://il.php.net/curl
     
    1 person likes this.
  20. 159932

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

    Joined:
    28 Sep 2007
    Messages:
    587
    Likes Received:
    462
    Reputations:
    5
    а чо так ? :p
    ну не повезло тебе значит .. :(
    уверен что курл у тебя стоит!?
    тем более ты просил пример - я тебе эго дал ..
    логин:пасс - там не верный.. в этом трабла ??
    зарегься там и вставь реальные данные
     
    1 person likes this.
Thread Status:
Not open for further replies.