私は現在、PHP の自動化スクリプトに取り組んでいます (HTML はありません!)。2 つの PHP ファイルがあります。1 つはスクリプトを実行しており、もう 1 つは $_POST データを受け取り、情報を返します。問題は、ある PHP スクリプトから別の PHP スクリプトに POST を送信し、戻り変数を取得して、HTML フォームやリダイレクトなしで最初のスクリプトの作業を続行する方法です。最初のPHPファイルから別のPHPファイルへ、さまざまな条件下でリクエストを数回行い、リクエストに応じてさまざまなタイプのデータを返す必要があります。私はこのようなものを持っています:
<?php // action.php (first PHP script)
/*
doing some stuff
*/
$data = sendPost('get_info');// send POST to getinfo.php with attribute ['get_info'] and return data from another file
$mysqli->query("INSERT INTO domains (id, name, address, email)
VALUES('".$data['id']."', '".$data['name']."', '".$data['address']."', '".$data['email']."')") or die(mysqli_error($mysqli));
/*
continue doing some stuff
*/
$data2 = sendPost('what_is_the_time');// send POST to getinfo.php with attribute ['what_is_the_time'] and return time data from another file
sendPost('get_info' or 'what_is_the_time'){
//do post with desired attribute
return $data; }
?>
属性で呼び出され、ポストリクエストを送信し、リクエストに基づいてデータを返す関数が必要だと思います。そして 2 番目の PHP ファイル:
<?php // getinfo.php (another PHP script)
if($_POST['get_info']){
//do some actions
$data = anotherFunction();
return $data;
}
if($_POST['what_is_the_time']){
$time = time();
return $time;
}
function anotherFunction(){
//do some stuff
return $result;
}
?>
よろしくお願いします。
更新:わかりました。curl メソッドは、php ファイルの出力を取得しています。出力全体ではなく $data 変数を返す方法は?