pramodh Posted November 19, 2013 Share Posted November 19, 2013 function pullpage( $method, $host, $usepath, $postdata) { # open socket to filehandle $fp = fsockopen($host, 80,$errno,$errstr,30 ); # user-agent name $_session['fp'] = $fp; $ua = "Mozilla/1.0"; if( !$fp ) { print "$errstr ($errno)<br>\n ERROR NO FP"; } else { if( $method == "GET" ) { fputs( $fp, "GET $usepath HTTP/1.0\n"); } else if( $method == "POST" ) { $strlength = strlen($postdata); $postinfo .= "POST $usepath HTTP/1.1 \r\n"; $postinfo .= "User-Agent: ".$ua."\r\n"; $postinfo .= "Accept: */*\r\n"; $postinfo .= "Host: $host\r\n"; $postinfo .="Connection: Close"; $postinfo .= "Content-Type: application/x-www-form-urlencoded \r\n"; $postinfo .= "Content-Length: ".$strlength."\r\n\r\n"; $postinfo .= $postdata ."\r\n" ; fputs( $fp, $postinfo); } $output = ""; # while content exists, keep retrieving document in 1K chunks //while( !feof( $fp ) ) { foreach($fp as $fps){ $output .= fgets($fps,1024); } fclose($fp); } return $output;} i am have performance issue regarding code want help thank you Quote Link to comment Share on other sites More sharing options...
Solution DavidAM Posted November 19, 2013 Solution Share Posted November 19, 2013 This is NOT a help forum! Do not post topics asking for help that are not related to the website.Moved to PHP Coding Help forum. Please use code tags (the <> button in the editor or ) when posting code. I would recommend using curl instead of managing the socket yourself. When do you have performance problems? GET or POST How is the function being called and under what circumstances? //while( !feof( $fp ) ) { foreach($fp as $fps){ $output .= fgets($fps,1024); } $fp is a resource and is not a valid target of foreach. Why did you take out the while statement? You need to turn on error reporting so you can see the errors, warnings and notices. Fix them all. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.