file_get_contents от Форум

DjBS

Registered
Здравейте!
Трябва ми кратка системка която да извършва file_get_contents но във форум (да се логва със дадено потребителско име и да извършва функцията file_get_contents) Ако има и други вариянти ще се радвам да ми ги кажете :)
Благодаря предварително!
 
По този начин се логва в FTP мен ми трябва за форум... там със сесий бизквитки.. незнам точно какво :/
 
Ами пробвай-както виждаш пиша http, не ftp

http://forums.bgdev.org/index.php?showtopic=26792
btw file_get_contents не сетва сесии...
 
@HunteR - нещо нестана с това cURL, пробвах и 2та примера ама нещо май не е такова каквото ми трябва

@koko5 - това е за защитените сървари, когато ти излиза ново прозорче уиндоуско за юзър и парола, а мен ми трябва за форум.. там дето са двете форими юзър парола и после да си рефрешва там да си прави сесия че е логнато иии после да си взима информацията
 
Код:
<?php
session_start();
function connect_site($url, $mode = 'GET', $post_args = array())
{
	global $_SESSION;
	$info = parse_url($url);
	$s = md5(strtolower($info['host']));
	if (!array_key_exists('path', $info))
	{
		$parts['path'] = '/';
	}
	if (!array_key_exists('port', $info))
	{
		$info['port'] = 80;
	}
	if (!array_key_exists('scheme', $info))
	{
		$info['scheme'] = 'http';
	}
		$ret = array();
	$fp = @fsockopen($info['host'], $info['port'], $errno, $errstr, 30) or die('connection failed');
	$headers = array();
	$out = $mode . ' '.$info['path'].(isset($info['query']) ? '?' . @$info['query'] : '')." HTTP/1.1\r\n".
		   'Host: '.$info['host'].($info['port'] <> 80 ? ':'.$info['port'] : '')."\r\n";
	if ( isset($_SESSION[$s]['cookie']) && is_array($_SESSION[$s]['cookie']) )
	{
		foreach($_SESSION[$s]['cookie'] as $k => $v)
		{
			$cookies[] = $k .'='.$v;
		}
		$out .= 'Cookie:' . implode("; ", $cookies) . "\r\n";
	}
	if ( $mode == 'POST')
	{
		$out .= 'Content-Type: application/x-www-form-urlencoded' . "\r\n";
	}
	$out .= 'Connection: Close'."\r\n";
	if ( $mode == 'POST' && is_array($post_args) && sizeof($post_args))
	{
		$args = array();
		foreach ($post_args as $k => $v )
		{
			$args[] = urlencode($k) . '=' . urlencode($v);
		}
		$out .= implode('&', $args);
		unset($args);
	}
	fwrite($fp, $out);
	while (!feof($fp) && $line = fgets($fp, 1024))
	{
		if ( $line == "\r\n" )
		{
			break;
		}
		list($k, $v) = explode(":", $line, 2);
		$headers[strtolower(trim($k))] = $v;
	}
	foreach( $headers as $k => $v )
	{
		switch ( $k )
		{
			case 'set-cookie':
				$v = explode(";", $v, 2);
				list($cookie_name, $cookie_value) = explode("=", $v[0], 2);
				$_SESSION[$s]['cookie'][$cookie_name] = $cookie_value;
				break;
			case 'location':
                      $redirect = $v;
          $newinfo = parse_url($redirect);
            if (!array_key_exists('host', $newinfo)) 
			{
				$redirect = (strpos($redirect, '/') !== 0) ? '/' . $redirect : $redirect;
				$redirect = $info['host'] ( $info['port'] <> 80) ? ':' . $info['port'] : '') . $redirect;
			}
            if (!array_key_exists('scheme', $newinfo))
			{
				$redirect = $info['scheme'].'://'.$redirect;
			}
				connect_site($redirect, 'GET');
				break;
			default:
			continue;
		}
	}
				
}
connection_site('site', 'POST', array('username' => 'lqlq', 'password' => 'flqflq'));
нещо текоа май ти трябва не съм го тествал
там дето е 'POST' е дали да направи форма ако не искаш да прави POST заявки го направи GET
там дето е масива username => ... password => ... е за пост заявката кой полета бля бля
ако има грешки ги оправи
 
echo file_get_contents(connect_site('http://forum.forum nqkuf kakuvto i da e.bg/viewtopic.php?p=4824', 'POST', array('username' => 'DjBS', 'password' => 'parola')));

и неизкарва нищо... никаква грешка дори :@
 
Е никой ли до сега не е се е интересувал/попадал на такъв код?? Се някой ще знае как може да стане работата ;/ Моля помагайте де :(
 

Back
Горе