Вы знаете, как в PHP существует метод под названием file_get_content, который получает содержимое страницы для предоставленного URL-адреса? Есть ли для этого противоположный метод? Как, например, file_post_content, где вы можете отправлять данные на внешние веб-сайты? Просто спрашивайте в образовательных целях.Противоположный метод file_get_content
ответ
Вы можете использовать без Curl, но file_get_contents
PHP этого примера:
$url = 'URL';
$data = array('field1' => 'value', 'field2' => 'value');
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
var_dump($result);
Смотрите сайт PHP: http://php.net/manual/en/function.file-get-contents.php#102575
могли бы написать один:
<?php
function file_post_content($url, $data = array()){
// Collect URL. Optional Array of DATA ['name' => 'value']
// Return response from server or FALSE
if(empty($url)){
return false;
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
if(count($data)){
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
}
// receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$svr_out = curl_exec ($ch);
curl_close ($ch);
return $svr_out;
}
?>
Что именно это делает? – jessica
Использование cURL, это будет опубликовать на указанный URL. Если данные не включены, он просто выполняет POST и возвращает результаты. Если вы передадите массив, они будут отправлены в URL-адрес. И снова результат будет возвращен. Например, если вы хотите отправить TimeZone в API и вернуть время, вы можете использовать такую функцию: '$ result = file_post_content (« http://api.time.org/ », array ('q '=>' UTC ')); ' – Twisty
Что делать, если у них более 1 поля? – jessica
функция file_get_contents PHP читать данные с локального/удаленный файл. Существует также функция file_put_contents (http://php.net/file_put_contents) для записи файлов локально. Написание файлов удаленно - это другое дело. –
см. Этот вопрос о публикации данных с помощью 'curl' http://stackoverflow.com/questions/2138527/php-curl-http-post-sample-code –
Я бы тоже эхо cURL. Вы можете написать функцию, которая тоже делает это. – Twisty