簡體   English   中英

php curl請求作為foreach循環

[英]php curl request as a foreach loop

我有一台服務器,要求我發送卷曲響應以獲取有關給定電話號碼的數據。

$numbers = array('12345','23456','345567','45678');

 foreach ($numbers as $value)
 {
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
  curl_setopt($curl, CURLOPT_USERPWD, "user:password");
  curl_setopt($curl, CURLOPT_URL, "http://server/data/user=" . $value);

  $ret = curl_exec($curl);
  $result = json_decode($ret,true);

   echo $result['someData'] . "<br>";
  curl_close($curl);
 }

我的問題是:這樣有效嗎?

有沒有更好的辦法?

如何在每次卷曲結果之后將回聲打印到屏幕上,直到等到整個腳本結束運行為止?

您需要flush數據。 試試這個

<?php
ob_start(); //Turning ON Output Buffering
$numbers = array('12345','23456','345567','45678');

 foreach ($numbers as $value)
 {
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
  curl_setopt($curl, CURLOPT_USERPWD, "user:password");
  curl_setopt($curl, CURLOPT_URL, "http://server/data/user=" . $value);

  $ret = curl_exec($curl);
  $result = json_decode($ret,true);

  ob_flush();//Flush the data here
  echo $result['someData'] . "<br>";
  curl_close($curl);
 }
 ob_end_flush();

here瀏覽所有這些輸出功能

我認為,如果您要聯系的服務器僅接受一個數字,則以這種方式進行操作將很有意義。

如果您可以在接收端訪問代碼,則可以序列化數組,然后將所有內容發送一次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM