Поставщики услуг хостинга, такие как Dreamhost, демонстрируют использование fopen. Использование PHP Curl может поддерживать FTP, FTPS, HTTP HTTPS SCP SFTP TFTP TELNET DICT FILE и LDAP. Curl поддерживает сертификат SSL, HTTP POST, HTTP PUT, загрузку по FTP, Kerberos, загрузку на основе HTTP, прокси, файлы cookie, сертификат пользователя + пароль, восстановление передачи файлов, прокси-канал http. Наиболее часто используемый метод — получение и публикация на основе http. метод.
Реализация кода:
1. Реализация получения HTTP
$ch = cur_init(" http://www.devdao.com/ ");
Curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, правда);
Curl_setopt ($ ch, CURLOPT_BINARYTRANSFER, правда);
$output = curl_exec($ch) ;
$fh = fopen("out.html", 'w') ;
fwrite($fh, $output);
fclose($fh);
2. Реализация HTTP-сообщения
//извлечение данных из сообщения
извлечь ($_POST);
//устанавливаем переменные POST
$url = 'http://www.webjx.com/get-post.php';
$fields = массив(
'lname'=>urlencode($last_name) ,
'fname'=>urlencode($first_name) ,
'title'=>urlencode($title) ,
'company'=>urlencode($institution) ,
'age'=>urlencode($age) ,
'email'=>urlencode($email) ,
'phone'=>urlencode($phone)
);
//URL-идентифицируем данные для POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&' ;
rtrim($fields_string,'&') ;
//открываем соединение
$ch = Curl_init();
//устанавливаем URL, количество переменных POST, данные POST
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST,count($fields));
Curl_setopt ($ ch, CURLOPT_POSTFIELDS, $fields_string);
//выполняем сообщение
$result = curl_exec($ch) ;
//закрываем соединение
локон_закрыть ($ ч) ;