淺談php中curl和fsockopen的應用

php中curl、fsockopen有什麼作用呢?下面小編就爲大家帶來一篇淺談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