• <kbd id="qyk40"></kbd>
  • <strike id="qyk40"></strike><samp id="qyk40"><pre id="qyk40"></pre></samp>

    我們大家都知道PHP是一種HTML內嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在服務器端執行的嵌入HTML文檔的腳本語言,語言 的風格有類似于C語言,現在被很多的網站編程人員廣泛的運用。文章這里詳細的介紹一下PHP遞歸數組。PHP程序需要將接收到的數據同時寫到“線上運行的 正式數據庫”和“進行開發調試的測試數據庫”。

    • 淺析使用PHP邏輯運算符
    • 關于Windows PHP配置應用程序服務器步驟
    • 關于Windows下安裝PHP5配置詳細介紹
    • 詳細介紹對象PHP串行化
    • 詳談PHP WEB服務器相關知識

    而測試數據庫可能經常會面臨對表結構、字段、配置信息做調整等問題,很不穩定,發生錯誤的概率很高,如果用a.php程序同時寫“正式數據庫”和 “測試數據庫”,勢必影響到線上運行的正式服務。于是,我想到用PHP curl擴展庫將生成的$data數組post傳遞一份給php程序,然后php程序繼續往下執行寫“正式數據庫”的代碼。php程序將$data數組傳 遞給php程序就完事了,至于php如何處理,就不關php的事了,php程序即使寫“測試數據庫”失敗,也不會對 php程序造成影響。

    PHP遞歸數組源代碼:

    1. php 
    2. $data["username"]="張宴";  
    3. $data["password"]="不知道";  
    4. $data["ip"]="192.168.0.18";  
    5. //reGISter_shutdown_function("post_data", $data);  
    6. //function post_data($data)  
    7. //{  
    8. $curl = new Curl_Class();  
    9. $post = @$curl->post("http://127.0.0.1/b.php", $data);//這里是b.php的訪問地址,請自行修改  
    10. //}  
    11. //curl類  
    12. class Curl_Class  
    13. {  
    14. function Curl_Class()  
    15. {  
    16. return true;  
    17. }  
    18. function execute($method, $url, $fields = '', $userAgent = '', $httpHeaders = '', $username = '', $password = '')  
    19. {  
    20. $ch = Curl_Class::create();  
    21. if (false === $ch)  
    22. {  
    23. return false;  
    24. }  
    25. if (is_string($url) && strlen($url))  
    26. {  
    27. $ret = curl_setopt($ch, CURLOPT_URL, $url);  
    28. }  
    29. else  
    30. {  
    31. return false;  
    32. }  
    33. //是否顯示頭部信息  
    34. curl_setopt($ch, CURLOPT_HEADER, false);  
    35. //  
    36. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
    37. if ($username != '')  
    38. {  
    39. curl_setopt($ch, CURLOPT_USERPWD, $username . ':' . $password);  
    40. }  
    41. $method = strtolower($method);  
    42. if ('post' == $method)  
    43. {  
    44. curl_setopt($ch, CURLOPT_POST, true);  
    45. if (is_array($fields))  
    46. {  
    47. $sets = array();  
    48. foreach ($fields AS $key => $val)  
    49. {  
    50. $sets[] = $key . '=' . urlencode($val);  
    51. }  
    52. $fields = implode('&',$sets);  
    53. }  
    54. curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);  
    55. }  
    56. else if ('put' == $method)  
    57. {  
    58. curl_setopt($ch, CURLOPT_PUT, true);  
    59. }  
    60. //curl_setopt($ch, CURLOPT_PROGRESS, true);  
    61. //curl_setopt($ch, CURLOPT_VERBOSE, true);  
    62. //curl_setopt($ch, CURLOPT_MUTE, false);  
    63. curl_setopt($ch, CURLOPT_TIMEOUT, 3);//設置curl超時秒數,例如將信息POST出去3秒鐘后自動結束運行。  
    64. if (strlen($userAgent))  
    65. {  
    66. curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);  
    67. }  
    68. if (is_array($httpHeaders))  
    69. {  
    70. curl_setopt($ch, CURLOPT_HTTPHEADER, $httpHeaders);  
    71. }  
    72. $ret = curl_exec($ch);  
    73. if (curl_errno($ch))  
    74. {  
    75. curl_close($ch);  
    76. return array(curl_error($ch), curl_errno($ch));  
    77. }  
    78. else  
    79. {  
    80. curl_close($ch);  
    81. if (!is_string($ret) || !strlen($ret))  
    82. {  
    83. return false;  
    84. }  
    85. return $ret;  
    86. }  
    87. }  
    88. function post($url, $fields, $userAgent = '', $httpHeaders = '', $username = '', $password = '')  
    89. {  
    90. $ret = Curl_Class::execute('POST', $url, $fields, $userAgent, $httpHeaders, $username, $password);  
    91. if (false === $ret)  
    92. {  
    93. return false;  
    94. }  
    95. if (is_array($ret))  
    96. {  
    97. return false;  
    98. }  
    99. return $ret;  
    100. }  
    101. function get($url, $userAgent = '', $httpHeaders = '', $username = '', $password = '')  
    102. {  
    103. $ret = Curl_Class::execute('GET', $url, '', $userAgent, $httpHeaders, $username, $password);  
    104. if (false === $ret)  
    105. {  
    106. return false;  
    107. }  
    108. if (is_array($ret))  
    109. {  
    110. return false;  
    111. }  
    112. return $ret;  
    113. }  
    114. function create()  
    115. {  
    116. $ch = null;  
    117. if (!function_exists('curl_init'))  
    118. {  
    119. return false;  
    120. }  
    121. $ch = curl_init();  
    122. if (!is_resource($ch))  
    123. {  
    124. return false;  
    125. }  
    126. return $ch;  
    127. }  
    128. }  
    129. ?> 

    PHP遞歸數組代碼:

    1. php    
    2. ignore_user_abort();//連線中斷后(例如關閉瀏覽器)仍然繼續執行以下的腳本直到處理完畢。  
    3. set_time_limit(0);  
    4. $get_data = file_get_contents("php://input");  
    5. $explodeexplodedata = explode("&", $get_data);  
    6. foreach ($explodedata as $key => $value)//還原數組  
    7. {  
    8. list($realkey, $realvalue) = explode("=", $value);  
    9. $data[urldecode($realkey)] = urldecode($realvalue);  
    10. }  
    11. //現在$data數組已經和a.php中的一樣了,接下來,就可以根據自己的需要對$data數組進行操作了。  
    12. //......  
    13. ?>

     

    穩定

    產品高可用性高并發

    貼心

    項目群及時溝通

    專業

    產品經理1v1支持

    快速

    MVP模式小步快跑

    承諾

    我們選擇聲譽

    堅持

    10年專注高端品質開發
    • 返回頂部
    免费精品国自产拍在线播放 | 亚洲精品第一综合99久久| 精品一区二区三区影院在线午夜| 国产成人无码aa精品一区| 精品深夜AV无码一区二区 | 亚洲国产精品线观看不卡| 国产精品99无码一区二区| 精品国产一区二区三区AV| 久久久久久国产精品免费免费男同| 四虎精品亚洲一区二区三区| 色婷婷激情av精品影院| 久久99精品久久久久久久野外| 国产精品亚洲а∨无码播放| 日韩亚洲国产高清免费视频| 亚洲综合一区国产精品| 无码人妻精品一区二区三区夜夜嗨 | 成人久久精品一区二区三区| 久久99精品久久久久久园产越南 | 91精品国产91久久久久久最新| 亚洲国语精品自产拍在线观看| 久久精品中文字幕| 国产三级精品久久| 亚洲AV日韩AV天堂久久| 亚洲综合精品成人| 亚洲精品久久无码| 青青草原综合久久大伊人精品| 日韩精品系列产品| 成人国产精品免费视频| 日韩国产成人精品视频| 日韩AV高清无码| 精品无人乱码一区二区三区| 人妻少妇看A偷人无码精品视频 | 国产精品99无码一区二区| 国产精品污WWW一区二区三区| 国产系列高清精品第一页| 亚洲精品乱码久久久久66| 日韩中文有码高清| 青青青国产精品国产精品美女| 久久精品亚洲中文字幕无码网站 | 97久久久精品综合88久久| 伊人久久精品一区二区三区|