在PHP中fsockopen函数的作用是打开一个网络连接或者一个Unix套接字连接,其语法为“fsockopen($hostname) ”,返回值为一个文件句柄,之后可以被其他文件类函数调用。
简单示例
<?php$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);if (!$fp) { echo "$errstr ($errno)<br />\n";} else { $out = "GET / HTTP/1.1\r\n"; $out .= "Host: www.example.com\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); while (!feof($fp)) { echo fgets($fp, 128); } fclose($fp);}?>
使用UDP连接
<?php$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);if (!$fp) { echo "ERROR: $errno - $errstr<br />\n";} else { fwrite($fp, "\n"); echo fread($fp, 26); fclose($fp);}?>
使用示例
<?php$host = "something.example.com";$port = 443;$path = "/the/url/path/file.php"; //or .dll, etc. for authnet, etc.//you will need to setup an array of fields to post with//then create the post string$formdata = array ( "x_field" => "somevalue");//build the post string foreach($formdata AS $key => $val){ $poststring .= urlencode($key) . "=" . urlencode($val) . "&"; }// strip off trailing ampersand$poststring = substr($poststring, 0, -1);$fp = fsockopen("ssl://".$host, $port, $errno, $errstr, $timeout = 30);if(!$fp){//error tell usecho "$errstr ($errno)\n"; }else{ //send the server request fputs($fp, "POST $path HTTP/1.1\r\n"); fputs($fp, "Host: $host\r\n"); fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n"); fputs($fp, "Content-length: ".strlen($poststring)."\r\n"); fputs($fp, "Connection: close\r\n\r\n"); fputs($fp, $poststring . "\r\n\r\n"); //loop through the response from the server while(!feof($fp)) { echo fgets($fp, 4096); } //close fp - we are done with it fclose($fp);}
推荐教程:《PHP》
以上就是PHP中 fsockopen 函数怎么用?的详细内容,更多请关注24课堂在线网其它相关文章!