php中curl、fsockopen有什麼作用呢?下面小編就為大家帶來一篇淺談php中curl、fsockopen的應用。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧!
最近要用到通過post上傳檔案,網上盛傳的有curl的post提交和fsockopen,其中curl最簡單,於是從最簡單的`說起。
這是簡單的將一個變數post到另外一個頁面
?
1
2
3
4
5
6
7
8
9
$url = '';
$data = array('a'=> 'b');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$ret = curl_exec($ch);
curl_close($ch);
主要說下這個選項CURLOPT_RETURNTRANSFER:如果設定為true/1,則curl_exec的時候不會自動將請求網頁的內容輸出到螢幕,$ret為請求網頁的內容,如果設定為false/0,則curl_exec的時候會自動將請求網頁的內容輸出到螢幕,此時如果請求成功的話$ret的內容是1或者true。
下面是上傳本地檔案的程式碼,如果需要上傳遠端檔案,則先down到本地,然後刪掉即可(如有同學有別的辦法還請告知):
?
1
2
3
4
5
6
7
8
9
10
$url = '';
$file = '1.jpg';
$field['uploadFile'] = '@'.$file;(uploadFile為接收端的name名)
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $field);
$ret = curl_exec($ch);
curl_close($ch);
這是fsockopen的辦法:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30