Hosting service providers such as dreamhost show the use of fopen. Using PHP's curl can support FTP, FTPS, HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE and LDAP. curl supports SSL certificate, HTTP POST, HTTP PUT, FTP upload, Kerberos, HTTP-based upload, proxy, cookie, user + password certificate, file transfer recovery, http proxy channel. The most commonly used one is http-based get and post method.
Code implementation:
1. HTTP get implementation
$ch = curl_init(" http://www.devdao.com/ ");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
$output = curl_exec($ch) ;
$fh = fopen("out.html", 'w') ;
fwrite($fh, $output) ;
fclose($fh);
2. HTTP post implementation
//extract data from the post
extract($_POST) ;
//set POST variables
$url = 'http://www.webjx.com/get-post.php' ;
$fields = array(
'lname'=>urlencode($last_name) ,
'fname'=>urlencode($first_name) ,
'title'=>urlencode($title) ,
'company'=>urlencode($institution) ,
'age'=>urlencode($age) ,
'email'=>urlencode($email) ,
'phone'=>urlencode($phone)
);
//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&' ; }
rtrim($fields_string ,'&') ;
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST,count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS,$fields_string);
//execute post
$result = curl_exec($ch) ;
//close connection
curl_close($ch) ;