把post資料用數組$post_data表示出來,然後用下面的函數就可以了,非常簡單,但是非常實用;
$URL是你要提交的url地址;
$referrer 是你瀏覽頁面的上一曆史頁面。
如有連接埠號碼可放在$url上就行如 http://www.sendnet.cn:8000/getfile.php
$post_data[0] = '深達設計';$post_data[1] = '0755-83769155';$URL='http://www.sendnet.cn/getfile.php';$referrer="";// parsing the given URL$URL_Info=parse_url($URL);// Building referrerif($referrer=="") // if not given use this script as referrer$referrer='http://www.sendnet.cn';// making string from $dataforeach($post_data as $key=>$value){$values[]="$key=".urlencode($value);}$data_string=implode("&",$values);// Find out which port is needed - if not given use standard (=80)$content = uc_fopen($URL,'',$data_string);echo $content;function uc_fopen($url, $limit = 0, $post = '', $cookie = '', $bysocket = FALSE, $ip = '', $timeout = 15, $block = TRUE) {$return = '';$matches = parse_url($url);!isset($matches['host']) && $matches['host'] = '';!isset($matches['path']) && $matches['path'] = '';!isset($matches['query']) && $matches['query'] = '';!isset($matches['port']) && $matches['port'] = '';$host = $matches['host'];$path = $matches['path'] ? $matches['path'].($matches['query'] ? '?'.$matches['query'] : '') : '/';$port = !empty($matches['port']) ? $matches['port'] : 80;if($post) {$out = "POST $path HTTP/1.0\r\n";$out .= "Accept: */*\r\n";//$out .= "Referer: $boardurl\r\n";$out .= "Accept-Language: zh-cn\r\n";$out .= "Content-Type: application/x-www-form-urlencoded\r\n";$out .= "User-Agent: $_SERVER[HTTP_USER_AGENT]\r\n";$out .= "Host: $host\r\n";$out .= 'Content-Length: '.strlen($post)."\r\n";$out .= "Connection: Close\r\n";$out .= "Cache-Control: no-cache\r\n";$out .= "Cookie: $cookie\r\n\r\n";$out .= $post;} else {$out = "GET $path HTTP/1.0\r\n";$out .= "Accept: */*\r\n";//$out .= "Referer: $boardurl\r\n";$out .= "Accept-Language: zh-cn\r\n";$out .= "User-Agent: $_SERVER[HTTP_USER_AGENT]\r\n";$out .= "Host: $host\r\n";$out .= "Connection: Close\r\n";$out .= "Cookie: $cookie\r\n\r\n";}$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);if(!$fp) {return '';} else {stream_set_blocking($fp, $block);stream_set_timeout($fp, $timeout);@fwrite($fp, $out);$status = stream_get_meta_data($fp);if(!$status['timed_out']) {while (!feof($fp)) {if(($header = @fgets($fp)) && ($header == "\r\n" || $header == "\n")) {break;}}$stop = false;while(!feof($fp) && !$stop) {$data = fread($fp, ($limit == 0 || $limit > 8192 ? 8192 : $limit));$return .= $data;if($limit) {$limit -= strlen($data);$stop = $limit < = 0;}}}@fclose($fp);return $return;}}