Я новый разработчик php, теперь проект должен вызывать третью часть API.поэтому я использую функцию CURL, они возвращают XML-файл и все работает нормально, как и ожидалось
Вопрос Мне нужно вызывать API как POST метод, и мне нужно передать значения.поэтому я записал все параметры, как этот
$parameter = array(
'op_id' => 'asdasdasdasdads',
'secret_key' => 'hahah',
'product_code' => '1234556',
'site_code' => '598',
'start_date' => "$start_date",
'end_date' => "$end_date"
);
Мне нужно вызывать этот API каждые 30 минут, чтобы я мог поместить файл php в задание CRON.но проблема в том, что мне нужно передать start_date и end_date как переменные.вот так
start:2011-12-22 07:00:00 end:2011-12-22 07:30:00
start:2011-12-22 07:30:00 end:2011-12-22 08:00:00
start:2011-12-22 08:00:00 end:2011-12-22 08:30:00
start:2011-12-22 08:30:00 end:2011-12-22 09:00:00
я хочу сделать его динамичным, невозможно, я прихожу к файлу, меняю начальную и конечную дату каждые 30 минут.поэтому я перебираю его
$interval = 1800; // Interval in seconds
$date_first = "2011-12-22 07:00:00";
$date_second = "2011-12-22 10:30:00";
$time_first = strtotime($date_first);
$time_second = strtotime($date_second);
for ($i = $time_first; $i < $time_second; $i = $i + $interval){
$start_date = date('Y-m-d H:i:s', $i);
$end_date = date('Y-m-d H:i:s', $i + $interval );
$parameter = array(
'op_id' => 'asdasdasdasdads',
'secret_key' => 'hahah',
'product_code' => '1234556',
'site_code' => '598',
'start_date' => "$start_date",
'end_date' => "$end_date"
);
}
, если я помещаю весь CURL в цикл for, он работает, но мой IP-адрес сервера может быть заблокирован третьей стороной.потому что он будет вызываться несколько раз, пока работает цикл.
Я положил sleep (), внутри цикла, кажется, не работает, любая идея?или я могу поместить curl вне цикла, но есть ли какие-либо решения / функции, которые я могу использовать, чтобы изменения CURLOPT_POSTFIELDS менялись каждые 30 минут в соответствии с моим циклом?
Заранее признателен, я думал в течение 3 дней
вот моя казнь.
$parameter = array(
'op_id' => 'asdasdasdasdads',
'secret_key' => 'hahah',
'product_code' => '1234556',
'site_code' => '598',
'start_date' => '2011-12-22 07:00:00',
'end_date' => '2011-12-22 07:30:00'
);
$url = "http://www.api.thirdparty.net";
$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $parameter);
$output = curl_exec($curl);
if( $output === FALSE ){
echo "cURL ERRORS " . curl_error($curl);
}
curl_close($curl);
$xml = simplexml_load_string($output);