• <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久久综合精品五月天| 亚洲av日韩av无码黑人| 亚洲午夜久久久精品影院| 亚洲欧美日韩综合久久久久| 久久精品国产亚洲av麻豆图片| 国产精品无码久久久久| 午夜精品在线视频| 久久青草精品38国产| 日韩精品射精管理在线观看| 精品一区精品二区制服| 中文精品久久久久国产网站| 青青青国产精品国产精品美女| 国产精品天天看天天狠| 日韩精品中文乱码在线观看| 在线播放国产精品| 国自产偷精品不卡在线| 日韩毛片一级好特黄| 国产精品亚洲专区无码WEB| 久久香蕉国产线看观看精品yw| 精品国产午夜福利在线观看| 国产产在线精品亚洲AAVV| 成人三级精品视频在线观看| 久久久久久久99精品免费| 国产成人综合精品一区| 男人扒开女人下添高潮日韩视频 | 99热成人精品国产免国语的| 久久丝袜精品中文字幕 | 日韩电影免费在线观看网址| 国产精品一区在线播放| 久久精品中文字幕免费| 久久国产精品二国产精品| 日韩深夜福利视频| 日韩电影免费在线观看| 国产精品毛片无遮挡高清| 亚洲日韩一区精品射精| 亚洲网红精品大秀在线观看| 午夜精品射精入后重之免费观看| 亚洲精品狼友在线播放| 久久国产成人亚洲精品影院 | 国产精品美女一区二区|