採用curl庫在PHP程式之間傳遞陣列

2021-06-03 16:35:51 字數 3495 閱讀 1571

最近在工作中遇到乙個問題:a.php程式需要將接收到的資料同時寫到「線上執行的正式資料庫」和「進行開發除錯的測試資料庫」。而測試資料庫可能經常會面臨對錶結構、字段、配置資訊做調整等問題,很不穩定,發生錯誤的概率很高,如果用a.php程式同時寫「正式資料庫」和「測試資料庫」,勢必影響到線上執行的正式服務。

於是,我想到用php curl擴充套件庫將生成的$data陣列post傳遞乙份給b.php程式,然後a.php程式繼續往下執行寫「正式資料庫」的**。a.php程式將$data陣列傳遞給b.php程式就完事了,至於b.php如何處理,就不關a.php的事了,b.php程式即使寫「測試資料庫」失敗,也不會對a.php程式造成影響。

按照這種思路,我寫了a.php和b.php的**:

a.php程式源**:

view plain

print?

<?php   

$data

["username"

]="張宴"

;  $data

["password"

]="不知道"

;  $data

["ip"

]="192.168.0.18"

;  //register_shutdown_function("post_data", $data);

//function post_data($data)

////curl類

//是否顯示頭部資訊

curl_setopt($ch

, curlopt_header, false);  

//curl_setopt($ch

, curlopt_returntransfer, true);  if(

$username

!= ''

)    

$method

= strtolower

($method

);  if(

'post'

== $method

)    

$fields

= implode(

'&',

$sets

);  

}  curl_setopt($ch

, curlopt_postfields, 

$fields

);  

}  elseif(

'put'

== $method

)    

//curl_setopt($ch, curlopt_progress, true);

//curl_setopt($ch, curlopt_verbose, true);

//curl_setopt($ch, curlopt_mute, false);

curl_setopt($ch

, curlopt_timeout, 3);

//設定curl超時秒數,例如將資訊post出去3秒鐘後自動結束執行。if(

b.php程式源**:

view plain

print?

<?php   

ignore_user_abort();//連線中斷後(例如關閉瀏覽器)仍然繼續執行以下的指令碼直到處理完畢。

set_time_limit(0);  

$get_data

= file_get_contents

("php://input"

);  

$explodedata

= explode

("&"

, $get_data

);  

foreach

($explodedata

as$key

=> 

$value

)//還原陣列

//現在$data陣列已經和a.php中的一樣了,接下來,就可以根據自己的需要對$data陣列進行操作了。

//......

?>  

備註:這兩段**需要php curl擴充套件庫的支援,檢視phpinfo(),如果curl support  enabled則表示支援curl庫。

1、windows下的php開啟curl庫支援:

開啟php.ini,將extension=php_curl.dll前的;號去掉。

2、linux下的php開啟curl庫支援:

編譯php時在./configure後加上 --with-curl

採用CURL庫在PHP程式之間傳遞陣列

最近在工作中遇到乙個問題 a.php程式需要將接收到的資料同時寫到 線上執行的正式資料庫 和 進行開發除錯的測試資料庫 而測試資料庫可能經常會面臨對錶結構 字段 配置資訊做調整等問題,很不穩定,發生錯誤的概率很高,如果用a.php程式同時寫 正式資料庫 和 測試資料庫 勢必影響到線上執行的正式服務。...

採用curl庫在PHP程式之間傳遞陣列

最近在工作中遇到乙個問題 a.php程式需要將接收到的資料同時寫到 線上執行的正式資料庫 和 進行開發除錯的測試資料庫 而測試資料庫可能經常會面臨對錶結構 字段 配置資訊做調整等問題,很不穩定,發生錯誤的概率很高,如果用a.php程式同時寫 正式資料庫 和 測試資料庫 勢必影響到線上執行的正式服務。...

在PHP中使用Curl

摘要 在這篇文章中主要講解php curl庫的知識,並教你如何更好的使用php curl。簡介你可能在你的編寫php指令碼 中會遇到這樣的問 題 怎麼樣才能從其他站點獲取內容呢?這裡有幾個解決方式 最簡單的就是在php中使用fopen 函式,但是fopen函式沒有足夠的引數來使用,比 如當你想構建乙...