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

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

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

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

    Joined:
    20 Feb 2008
    Messages:
    80
    Likes Received:
    1
    Reputations:
    0
    те, кто работал с ZipArchive class PHP (http://www.php.net/manual/en/class.ziparchive.php) , вопрос:
    есть ли метод/способ определить общий размер файлов в архиве, не распаковывая его?
    или придётся читать заголовки архива и искать там размеры файлов?
     
  2. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Byrger, мой вариант:
    PHP:
    <?php

    $del
    [32]= array(32168421);
    $del[16]= array(168421);
    $del[8]= array(8421);
    $del[4]= array(421);
    $del[2]= array(21);
    $del[1]= array(1);


    function 
    random($array)
    {
       
    $n $array[rand (0count($array)-1)];   
       return 
    $n;
    }


    $n1 random($del[32]);
    $n2 random($del[32/$n1]);
    $n3 32/($n1*$n2);

    echo 
    $n1.' * '.$n2.' * '.$n3.' = 32';

    ?>
    Используется несколько массивов, поэтому памяти побольше будет юзать чем ксрипт от mailbrush, но в моём варианте не тратится время на поиск нужной комбинации, так что возможно быстрее будет работать.. Хотя ХЗ-ХЗ...)
     
    1 person likes this.
  3. Architek86

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

    Joined:
    20 Feb 2008
    Messages:
    80
    Likes Received:
    1
    Reputations:
    0
    Это типа поиск? это скорее лотерея, где если повезёт, то комбинация даст 32 ))) (я про скрипт mailbrush)
     
  4. hooligan4ik

    hooligan4ik New Member

    Joined:
    17 Dec 2009
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Уважаемые мастера!
    У меня есть движок мониторинга серверов кс 1.6!
    Задача стоит вот в чем:
    1)Какимто образом вывести самую популярную карту!
    2)Сделать графики посещаемости серверов как на http://www.ukrgame.net/index.php?act=cod4graph
     
  5. SeNaP

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

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    Как установить модуль curl в linux'e?
     
  6. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    apt-get install php5-curl

    или так

    emerge php5-curl
     
    1 person likes this.
  7. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    PHP:
        function IsValidLogin($login){
          if(
    eregi("/^[a-zA-Z0-9А-Яа-я]{3,16}$/i",trim($login))) return(1); else return(0);
        }
    Функция чекает логин и должна принемать кирилицу чего она не делает :(
    Как поправить (все скрипты в utf8)
    но только средстрами PHP
     
  8. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11

    если я правильно понял то попробуй так

    PHP:
    function IsValidLogin($login){
          
    $login=iconv('UTF-8''windows-1251'$login);
          if(
    eregi("/^[a-zA-Z0-9А-Яа-я]{3,16}$/i",trim($login))) return(1); else return(0);
        }
     
  9. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    1. http://ua2.php.net/manual/en/function.iconv.php
    2. Перепиши с eregi на preg_match
     
    1 person likes this.
  10. Chode

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

    Joined:
    20 Jul 2008
    Messages:
    164
    Likes Received:
    19
    Reputations:
    0
    Посоветуйте класс, библиотеку для работы с почтой, pop-imap, smtp. Максимально универсальную. Что-то порылся на phpclasses но пока глухо. Писать с нуля не хочется.

    Есть готовые решения? Спасибо
     
  11. Deathdreams

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

    Joined:
    8 Nov 2008
    Messages:
    342
    Likes Received:
    116
    Reputations:
    5
    Chode
    Тут не эекстрасенсы сидят, напиши какой должен быть функционал, потом глянь в Полезных скриптах, может там чё есть.
     
  12. Vlad&slav

    Vlad&slav Member

    Joined:
    1 Jan 2009
    Messages:
    207
    Likes Received:
    41
    Reputations:
    9
    help me)

    есть текстовик :

    PHP:
    ...............................
    21
    432
    =>
    343
    4354235
    42
    <=3=>
    234
    6542
    =>36
    5423
    <=654235435
    346432
    <=4352435423
    5
    Нужно чтобы скрипт если находил в строках <= и => то изменял отступ последуюших строк, тоесть должно получиться:
    PHP:
    ......................
    21
    432
    =>
       
    343
       4354235
    42
    <=3=>
       
    234
       6542
    =>36
          5423
       
    <=654235435
       346432
    <=4352435423
    5
     
  13. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    А что делать со строкой "42<=3=>", где оба символа присутствуют?
     
    2 people like this.
  14. Vlad&slav

    Vlad&slav Member

    Joined:
    1 Jan 2009
    Messages:
    207
    Likes Received:
    41
    Reputations:
    9
    выдвинуть из текста на один отступ ближе а дальше текст пустить как перед такой строкой
    PHP:
    //
       
    1213
       35
    4
    <=354=>6
       5465
       654
       6
     
  15. hooligan4ik

    hooligan4ik New Member

    Joined:
    17 Dec 2009
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    PHP:
    echo"<script type='text/javascript' src='".JS."jquery.js'></script>\n"; echo"<script type='text/javascript' src='".JS."cookies.js'></script>\n"; echo"<script type='text/javascript' src='".JS."jquery.cookies.js'></script>\n"; echo "<title>".$settings['sitename']."</title>\n"; ?>  <? echo"</head>\n"; require_once INCLUDES."navigation.php"; echo"<center><table border='0'  align='center' cellpadding='0' cellspacing='0' class='stat sortable' >"; if(!$serv_num==0){ echo"</tbody></table>"; echo"<link rel='stylesheet' href='http://www.mon1toring.ru/templates/two-tiers.css' type='text/css'></link>\n"; echo"<link rel='stylesheet' href='http://www.mon1toring.ru/templates/default.css' type='text/css'></link>\n"; echo "<hr class='none_hr' /><table border='0' align='center' cellpadding='0' cellspacing='0' class='another_table' width='100%'><th width='4%'><center><DIV align=center>&nbsp;<IMG height=11       src='images/pw1.gif'        width=9 border=0 ;></DIV></center></th><th width='28%'><left>".$locale['010']."</left></th><th width='10%'><center>".$locale['011']."</center></th><th width='20%'><center>".$locale['012']."</center></th><th width='18%'><center>".$locale['013']."</center></th><th width='8%'><center>".$locale['014']."</center></th><th width='6%'><center>".$locale['015']."</center></th><th width='6%'><center>".$locale['016']."</center></th></tr>"; $i=0; while($r=dbarray_fetch($servers)) { $players = $r['server_players']."/".$r['server_maxplayers'] ; if($r['server_players'] == $r['server_maxplayers']) { $players = "<font color='#00FF00'>".$r['server_players']."/".$r['server_maxplayers']."</font>";} if($r['server_players'] == 0) { $players = "<font color='red'>".$r['server_players']."/".$r['server_maxplayers']."</font>";} $i++;  $img = "<img src='images/maps/default.jpg' width='40' height='30'>";           if (file_exists("images/maps/$r[server_map].jpg"))           {$img = "<img src='".BASEDIR."images/maps/$r[server_map].jpg' width='40' height='30' alt='$r[server_map]'>";}          if($r['server_vip']==1){ echo"<tr class='' onmouseout=this.className='' onmouseover=this.className='hl' height='30' style='background: #570016; text-align:left;'><td>$i</td>";} else {echo"<tr class='' onmouseout=this.className='' onmouseover=this.className='hl'><td>$i</td>";} echo"<td align='left'><a href='".$settings['siteurl']."server-$r[server_id]' id='link'>$r[server_name]</a></td>"; echo"<td align='center'><a href='steam://connect/$r[server_ip]'>$r[server_ip]</a></td>"; echo"<td align='center'><a href='./images/maps/$r[server_map].jpg'>".$img."<br>$r[server_map]</a></td>"; echo"<td align='center'>".$players."</td>"; echo"<td align='center'>$r[server_protokol]</td>"; echo"<td align='center'><img src='images/flags/$r[server_location].png' height='12' width='16' alt='$r[server_location]' title='$r[server_location]''></td>"; echo"<td align='center'>"; if($r['server_vip']==1){ echo $locale['018']; }     else{ echo "<span class='votes_count' id='votes_count$r[server_id]' >".$r['votes']."</span>"; echo "<span class='vote_buttons' id='vote_buttons$r[server_id]'>"; echo "    <a href='javascript:;' class='vote' id='$r[server_id]'></a>"; echo "</span>";         } echo "</td></tr></tr>";     } } else {echo "<th><center> ".$locale['017']."</center></th>"; }   echo"</tbody></table></center>"; if($serv_num !=0) { $ip = getenv('REMOTE_ADDR'); $ip = $_SERVER['REMOTE_ADDR']; echo "<div align='center'>Ваш IP адрес: ";echo $ip; echo"</tbody></table></center><div align='center'><a href ='all_servers'>".$locale['022']."</a></div>";}     echo"<hr class='clear'>"; 
    вот скрипт вывода инфы о серверах!CS
    ребят нада замутить вывод популярной карты
    Если возможно описать по подробнее!
    Много где обращался везде баян!Последняя надежда на вас!)
    Заранее спасибо!
     
    #13115 hooligan4ik, 18 Dec 2009
    Last edited: 18 Dec 2009
  16. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Безопасен ли инклуд?

    PHP:
      function cl_include($action){
        
    $action = (string)($action);
        
    $filter = array("http","ftp",":",";","/","\\",".","%27","'","`","=","%","base64");
        
    $filter_data str_replace($filter""$action);
        return 
    $filter_data;
      }

    $action=htmlspecialchars((string)$_GET[action]);
    if((
    file_exists("modules/$action.php"))&&(is_file("modules/$action.php"))){

    $action=cl_include($action);
    include(
    "modules/$action.php");

    }
     
  17. Zircool

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

    Joined:
    1 Mar 2006
    Messages:
    162
    Likes Received:
    37
    Reputations:
    5
    Помогите составить POST multipart/form-data запрос через curl

    PHP:

    POST http
    ://site.ru/add.php HTTP/1.1
    User-AgentOpera/9.80 (Windows NT 5.2UruPresto/2.2.15 Version/10.01
    Host
    site.ru
    Accept
    text/htmlapplication/xml;q=0.9application/xhtml+xmlimage/pngimage/jpegimage/gifimage/x-xbitmap, */*;q=0.1
    Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
    Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
    Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
    Referer: http://site.ru/rent/add.html
    Cookie: uid=AAAAACcbJEvUO3WmAWhUBQ==; pscode=OXYfz9gLUP2Ln8vjiIUdoJUXZiVpc581; isauth=1
    Cookie2: $Version=1
    Connection: Keep-Alive, TE
    TE: deflate, gzip, chunked, identity, trailers
    Content-Length: 2237
    X-Opera-Info: ID=869, p=0, f=7, sw=1024, sh=768
    X-Opera-ID: e91b0c8c521ea347c317914aa6fb71c48a9653b74459580683b9e82620e0704d
    X-Opera-Host: t09-02:12431
    X-OA: 2740 15d569fbf510645c5b829f9b084a0510389d1de51650653f093436ca8c4d5fa1
    X-OB: peregrine
    Content-Type: multipart/form-data; boundary=----------t9JEJDbwWY3An0Q9pvzHgH

    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="action"

    add
    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="rubric"

    2
    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="object"

    6
    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="region"

    3
    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="series"

    6
    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="build_type"

    3
    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="status"

    1
    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="decoration"

    1
    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="address"

    пр.Ленина 93
    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="area_build"

    36
    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="floor"

    3
    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="floors"

    1
    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="phone"

    1
    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="furnit"

    1
    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="area_site"

    34
    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="area_site_unit"

    1
    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="contacts"

    [email protected]
    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="price"

    0
    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="price_unit"

    1
    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="img1"; filename=""


    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="img2"; filename=""


    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="img3"; filename=""


    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="description"


    ------------t9JEJDbwWY3An0Q9pvzHgH
    Content-Disposition: form-data; name="period"

    1
    ------------t9JEJDbwWY3An0Q9pvzHgH--

     
  18. Chode

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

    Joined:
    20 Jul 2008
    Messages:
    164
    Likes Received:
    19
    Reputations:
    0
    Про экстрасенсов я вижу.

    Объясню: я написал "для работы c pop-imap, smtp" - под этим подразумевал прием и передача почты. Словосочетание "максимально универсальную" означало наибольшую совместимость с различными стандартами протоколов - стандарты RFC для IMAP, POP3, SMTP. Таким образом искомая библиотека, класс, расширение PEAR или еще что нибудь должно обладать готовыми средствами для автоматического определения стандартов используемых для, хотя бы, простейшего приема, передачи почты.

    Сейчас лучше ? :)
     
  19. Player#1

    Player#1 Member

    Joined:
    11 Nov 2008
    Messages:
    95
    Likes Received:
    35
    Reputations:
    10
    Вот, вроде так...
    Заголовки не все, но по аналогии, думаю доделаешь.

    PHP:

    $upload
    ="";
    $postdata = array("action" => "add""rubric" => "2""rubric" => "2""object" => "6""region" => "3""img1" => "@".$upload);
    $httpheaders = array("Host: site.ru""Cookie2: $Version=1");
    $url="http://site.ru/add.php";

    $ch curl_init();
     
    curl_setopt($chCURLOPT_URL$url);
     
    curl_setopt($chCURLOPT_RETURNTRANSFER0);
     
    curl_setopt($chCURLOPT_HEADER1);
     
    curl_setopt($chCURLOPT_COOKIE"uid=AAAAACcbJEvUO3WmAWhUBQ==; pscode=OXYfz9gLUP2Ln8vjiIUdoJUXZiVpc581; isauth=1");
     
    curl_setopt($chCURLOPT_HTTPHEADER$httpheaders);
     
    curl_setopt($chCURLOPT_USERAGENT"Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.2.15 Version/10.01")
     
    curl_setopt($chCURLOPT_POST1);
     
    curl_setopt($chCURLOPT_POSTFIELDS$postdata);
     
    curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);
     
    $result curl_exec($ch); 
    curl_close($ch);

     
  20. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    PHP:
    <?php
    $filter_data 
    'hthttptp';
    $filter = array("http","ftp",":",";","/","\\",".","%27","'","`","=","%","base64"); 
    $filter_data str_replace($filter""$filter_data);
    echo 
    $filter_data;
    ?>
    выведет:
    Вот и вся твоя защита, указывай явно что можно инлудить а что нет.
     
    1 person likes this.
Thread Status:
Not open for further replies.