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

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

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

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    blaga
    Ты прав!
    PHP:
    <class='a' target='_blank' href='".$myrow['urlrecl']."'><img border=0 src='".$myrow['urlimg']."'></a>
    Исчезло!! атрибут border=0 помог! ;)
     
  2. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    ChaaK, а зачем ты айконвы сделал?
    Смотря на каком серве(php) проверять скрипт)
     
    2 people like this.
  3. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Надо было значит)... Сейчас не помню
     
    1 person likes this.
  4. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Ребята а примерно можите подсказать как организован рисунок деревни в игре Война племён?
    Как на PHP он написанн (там на основном рисунке наложенны ещё домики) причём путь до картинки любого домика http://ru6.voyna-plemyon.ru/graphic/map/empty.png?1
    и на картинки домиков возможно нажимать (ну это ссылкой организовать можно)

    А как само построение этой деревни происходит я понять не могу.

    Скрин деревни:
    http://file.qip.ru/file/74806334/fb0c0d2c/___2_.html
     
  5. preda1or

    preda1or Member

    Joined:
    27 Oct 2008
    Messages:
    167
    Likes Received:
    96
    Reputations:
    6
    Byrger
    не путайте PHP с JavaScript+HTML
     
  6. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4

    Думаешь там не на PHP написанно?
    PHP же умеет с графикой управляться
     
  7. preda1or

    preda1or Member

    Joined:
    27 Oct 2008
    Messages:
    167
    Likes Received:
    96
    Reputations:
    6
    Byrger
    Скорее всего основные запросы обрабатывают PHP скрипты, но то что ты видишь на странице, все запросы-клики и т.п. делается с помощью JavaScript
     
  8. spamoney

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

    Joined:
    26 Dec 2006
    Messages:
    120
    Likes Received:
    7
    Reputations:
    1
    Всем привет возникла следующая проблема: есть скрипт:

    Code:
    <?php 
    print "php_sockets.dll - "; 
    if(extension_loaded('sockets')) print "loaded<br><br><br>"; 
    else print "not loaded"; 
    
    $servers='85.142.54.217:27015';
    $server = explode(":",$servers);
    $adress=$server[0];
    $port=$server[1];
    
    $data=monitor_server($adress, $port, 'halflife', 'info');
    
    print_r ($data);
    function monitor_server($ip, $port, $game, $request)    {
    		$fp = @fsockopen("udp://$ip", $port, $errno, $errstr, 1);
    		if (!$fp) return FALSE;
    		stream_set_timeout($fp, 1, 0);
    		stream_set_blocking($fp, true);  
    	 if (($request == "settings" || $request == "players")) {
    	    $challenge_code = "\xFF\xFF\xFF\xFF\x57"; 
    	    fwrite($fp, $challenge_code);
    	    $buffer = fread($fp, 4096);
    	    if (!trim($buffer)) { fclose($fp); return FALSE; }
    		$challenge_code = substr($buffer, 5, 4);
        	}
    		if ($request == "info") $challenge = "\xFF\xFF\xFF\xFFTSource Engine Query\x00";
    		if ($request == "players") $challenge = "\xFF\xFF\xFF\xFFU".$challenge_code;
    		if ($request == "settings") $challenge = "\xFF\xFF\xFF\xFFV".$challenge_code;
    		fwrite($fp, $challenge);
    		$buffer = fread($fp, 4096);
    		if (!$buffer) { fclose($fp); return FALSE; }     
    		if ($request == "settings")	{
    		$second_packet = fread($fp, 4096);
    		if (strlen($second_packet) > 0)	{
    		$reverse_check = dechex(ord($buffer[8]));      
    		if ($reverse_check[0] == "1")	{
    		$tmp = $buffer;                 
    		$buffer = $second_packet;
    		$second_packet = $tmp;
    		}
    		$buffer = substr($buffer, 13);         
    		$second_packet = substr($second_packet, 9);   
    		$buffer = trim($buffer.$second_packet);
    		 }
    		 else	$buffer = trim(substr($buffer, 4));
    		 }
    		 else	$buffer = trim(substr($buffer, 4)); 
    		 fclose($fp);
    		 if (!trim($buffer)) return FALSE;
    		 
    		 
    		 if ($request == "info") {
    		 unset($data);
    		$tmp = explode("\x00", $buffer);
    		$place = strlen($tmp[0].$tmp[1].$tmp[2].$tmp[3].$tmp[4]) + 5;
    		$data['gamemod'] = $tmp[3];
    		$data['hostname'] = $tmp[1];
    		$data['mapname'] = $tmp[2];
    		$data['players'] = ord($buffer[$place]);
    		$data['maxplayers'] = ord($buffer[$place + 1]);
    		$data['password'] = ord($buffer[$place + 5]);
    		//$data['cs_players']	= $cs_players;
    		$data['ip'] = $ip;
    		$data['port'] = $port; 
    		$data['datatype'] = $buffer[0];               // m for steam info
    		$data['version'] = ord($buffer[$place + 2]); // Network Version
    		$data['description'] = $tmp[4];
    		$data['server_type'] = $buffer[$place + 3];      // D edicated or L isten
    		$data['server_os'] = $buffer[$place + 4];      // W indows or L inux
    		$data['server_secure'] = ord($tmp[14]);            // VAC
    		$exmpl = array_keys($tmp);
    		if(in_array("15", $exmpl)) $data['server_bots'] = ord($tmp[15]);            // Number of Bots
    		else $data['server_bots']=0;
    		return $data;  
    		}
    		
    		
    		if ($request == "players") {
    		$player_number = 0;
    		$position = 2;
    		do {
    		$player_number++;
    		$player[$player_number]['name']='';                                  
    		$player[$player_number]['id'] = ord($buffer[$position]);
    		$position ++;                                             
    		while($buffer[$position] != "\x00" && $position < 4000) {
    		$player[$player_number]['name'] .= $buffer[$position];  
    		$position ++;
    		}
    		$player[$player_number]['score'] = (ord($buffer[$position + 1]))
    		+ (ord($buffer[$position + 2]) * 256)
    		+ (ord($buffer[$position + 3]) * 65536)
    		+ (ord($buffer[$position + 4]) * 16777216);
    		if ($player[$player_number]['score'] > 2147483648) $player[$player_number]['score'] -= 4294967296;
    		$time = substr($buffer, $position + 5, 4);               
    		if (strlen($time) < 4) return FALSE;              
    		   list(,$time) = unpack("f", $time);                
    		    $time = mktime(0, 0, $time);                          
    		    $player[$player_number]['time'] = date("H:i:s", $time);  
    		    $position += 9;
    		    }
    		    while ($position < strlen($buffer));                   
    		    return $player;
    		    }
    
    		    if ($request == "settings") {
    			$tmp     = substr($buffer, 2); 
    			$rawdata = explode("\x00", $tmp);
    		  for($i=1; $i<count($rawdata); $i=$i+2) {
    		  $rawdata[$i] = strtolower($rawdata[$i]);  
    		  $setting[$rawdata[$i]] = $rawdata[$i+1];  
    		  }
    		    return $setting; 
    		   }
     }
    
    ?>
    
    На локалке работает нормально, а вот на хостинге вылазит ошибка:

    Code:
    Notice: fwrite() [function.fwrite]: send of 25 bytes failed with errno=1 Operation not permitted in /home/123.php on line 44
    В чем проблема?

    Спрашивал у хостера он говорит что у него всё включено....
     
    #8208 spamoney, 7 Feb 2009
    Last edited: 7 Feb 2009
  9. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Не может отправить инфу. Сайт доступен? Это не ошибка, а заметка
     
    1 person likes this.
  10. spamoney

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

    Joined:
    26 Dec 2006
    Messages:
    120
    Likes Received:
    7
    Reputations:
    1
    Да, доступен (при запуске скрипта на локалке всё в норме)...

    Эм, вот наткнулся на подобную проблему: http://www.eomy.net/forum/oshibka-vt885.html

    Писал своему хостеру, но он говорит что у него всё включено и не хочет решать данную проблему (хостер sweb).
     
    #8210 spamoney, 7 Feb 2009
    Last edited: 7 Feb 2009
  11. Vinsik

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

    Joined:
    4 Oct 2008
    Messages:
    189
    Likes Received:
    4
    Reputations:
    -5
    есть сайт где ссылка вида
    http://сайт/video56297/

    Как сделать форму для ввода и ниже кнопочку скачать
    Если видео находится по ссылке http://сайт/upload/video/56297.flv
     
  12. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    любым снифером перехватываеш пакеты от браузера. потом на php с помощью сокетов или курла реализуеш.
     
    1 person likes this.
  13. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    m0Hze Добавить заголовок вида:

    PHP:
    $headers.='Authorization: Basic '.base64_encode($login.':'.$pass))."\r\n"// для сокетов
    curl_setopt($chCURLOPT_HTTPHEADER, array('Authorization: Basic '.base64_encode($login.':'.$pass))); // Для курла
     
    _________________________
    1 person likes this.
  14. kraken

    kraken Member

    Joined:
    2 Jan 2009
    Messages:
    74
    Likes Received:
    75
    Reputations:
    5
    m0Hze
    код в студию
     
    1 person likes this.
  15. Vinsik

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

    Joined:
    4 Oct 2008
    Messages:
    189
    Likes Received:
    4
    Reputations:
    -5
    есть сайт где ссылка вида
    http://сайт/video56297/

    Как сделать форму для ввода и ниже кнопочку скачать
    Если видео находится по ссылке http://сайт/upload/video/56297.flv

    помогите плииииз, срочно надо
     
    1 person likes this.
  16. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    m0Hze
    PHP:
    function post($url,$pass='')
    {
        
    $ch curl_init();  
        
    curl_setopt($chCURLOPT_URL,$url);
        
    curl_setopt($chCURLOPT_HEADER1);
        
    curl_setopt($chCURLOPT_RETURNTRANSFER,1);
        
    curl_setopt($chCURLOPT_NOBODY,0);
        
    curl_setopt($chCURLOPT_TIMEOUT5);    
        
    curl_setopt($chCURLOPT_SSLVERSION3);
        
    curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
        
    curl_setopt($chCURLOPT_SSL_VERIFYHOSTfalse);
        
    curl_setopt($chCURLOPT_USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6');
        
    curl_setopt($chCURLOPT_HTTPHEADER, array('Authorization: Basic '.base64_encode($pass)));
        
    $ss=curl_exec($ch);
        
    curl_close($ch);
        return 
    $ss;
    }

    var_dump(post('Тут ваш урл','Логин:Пароль'));
    Если опять ничего не вернет, то добавьте перед закрытием курла - echo curl_errno($ch) . " - " . curl_error($ch) . "<br>";
     
    _________________________
    2 people like this.
  17. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    m0Hze http://www.phpied.com/simultaneuos-http-requests-in-php-with-curl/ Или в любом мануале curl_multi_init

    А вообще - изврат бруты делать на ПХП. Скачайте гидру и будет вам счастье
     
    _________________________
    1 person likes this.
  18. SVAROG

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

    Joined:
    13 Feb 2007
    Messages:
    424
    Likes Received:
    86
    Reputations:
    -1
    m0Hze может я тебя не правильно понял
    for($i = 0;$i < 100;$i++)
    {
    $pass[$i]= genpass($num);
    }
     
    1 person likes this.
  19. kraken

    kraken Member

    Joined:
    2 Jan 2009
    Messages:
    74
    Likes Received:
    75
    Reputations:
    5
    Для удобства добавь в функцию генерации пароля чтоб количество сколько нужно выдавала.
    А так SVAROG правильно написал
     
    1 person likes this.
  20. kraken

    kraken Member

    Joined:
    2 Jan 2009
    Messages:
    74
    Likes Received:
    75
    Reputations:
    5
    Может ты имеешь ввиду сокеты?
     
Thread Status:
Not open for further replies.