file_post_contents php function
This php function is useful when you want to send arguments by POST method instead of GET. very handy 😉
The usage is same as file_get_contents
function file_post_contents($url,$headers=false) { $url = parse_url($url); if (!isset($url['port'])) { if ($url['scheme'] == 'http') { $url['port']=80; } elseif ($url['scheme'] == 'https') { $url['port']=443; } } $url['query']=isset($url['query'])?$url['query']:''; $url['protocol']=$url['scheme'].'://'; $eol="\r\n"; $headers2 = "POST ".$url['protocol'].$url['host'].$url['path']." HTTP/1.0".$eol. "Host: ".$url['host'].$eol. "Referer: ".$url['protocol'].$url['host'].$url['path'].$eol. "Content-Type: application/x-www-form-urlencoded".$eol. "Content-Length: ".strlen($url['query']).$eol. $eol.$url['query']; $fp = fsockopen($url['host'], $url['port'], $errno, $errstr, 30); if($fp) { fputs($fp, $headers2); $result = ''; while(!feof($fp)) { $result .= fgets($fp, 128); } fclose($fp); if (!$headers) { //removes headers $pattern="/^.*\r\n\r\n/s"; $result=preg_replace($pattern,'',$result); } return $result; } }