php语言 百分网手机站

浅谈php中curl和fsockopen的应用

时间:2020-08-06 15:49:21 php语言 我要投稿

浅谈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