たとえば、ローカルphpから入力を取得し、別のWebページのidで入力に書き込みます。そちらはPHPボットと呼ばれていると思いますが、その機能がよくわかりませんでした。可能であれば、コードを見せていただければ幸いです。
更新:よりきれいにするために-PHPを使用して別のページの入力に「書き込む」方法。
データを URL に投稿するには、CURL を使用できます。
$my_url = 'http://www.google.com';
$post_vars = 'postvar1=' . $postvar1 . '&postvar2=' . $postvar2;
$curl = curl_init($my_url);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_vars);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curl);
アップデート
CURL を使用したくない場合は、次の方法で試すことができます。
$server= 'www.someserver.com';
$url = '/path/to/file.php';
$content = 'name1=value1&name2=value2';
$content_length = strlen($content);
$headers= "POST $url HTTP/1.0\r\nContent-type: text/html\r\nHost: $server\r\nContent-length: $content_length\r\n\r\n";
$fp = fsockopen($server, $port, $errno, $errstr);
if (!$fp) return false;
fputs($fp, $headers);
fputs($fp, $content);
$ret = "";
while (!feof($fp)) {
$ret.= fgets($fp, 1024);
}
fclose($fp);
print $ret;
PHP5 を使用している場合は、次の関数を使用してデータを URL に投稿できます。
function do_post_request($url, $data, $optional_headers = null)
{
$params = array('http' => array(
'method' => 'POST',
'content' => $data
));
if ($optional_headers !== null) {
$params['http']['header'] = $optional_headers;
}
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
if (!$fp) {
throw new Exception("Problem with $url, $php_errormsg");
}
$response = @stream_get_contents($fp);
if ($response === false) {
throw new Exception("Problem reading data from $url, $php_errormsg");
}
return $response;
}
この機能はここから
この関数を使用するには、次のようにします
<?php
do_post_request('http://search.yahoo.com/', 'p=hello+yahoo')
?>
これは「hello yahoo」を検索します