论坛首页 编程语言技术论坛

php中curl扩展的安装及post简单使用

浏览 8718 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-04-10  
PHP
以前也知道curl函数的功能极其强大,但一直未研究!这几次的面试好像都问到了,感觉得研究研究它了。一上来,首先安装curl模块就搞了很久。安装php手册和网友的提示终于搞定,具体步骤是
1、将PHP文件夹下的三个文件php_curl.dll,libeay32.dll,ssleay32.dll复制到system32下;
2、将php.ini中的;extension=php_curl.dll中的分号去掉;
3、重启apache。
这里值得注意的是php.ini的路径问题,我们首先查看phpinfo,第六或第七行的路径才是真实的php.ini路径。我刚开始就是改的php目录下的php.ini,phpinfo查看原来在apache/bin目录下。晕死!


安装好环境后,开始使用curl函数功能。下面是实现post数据提交的代码,两个文件,一个是发送文件一个是接受文件。

curl_s.php(发送文件)

 $ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL,"http://blogs.m6699.com/curl_r.php");
 
// Do a POST
$data = "username=duanjianbo&password=2785130";
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 
// grab URL, and print
$result=curl_exec($ch);	

curl_close($ch);
echo $result;


curl_r.php(接受文件)

$str=implode(",",$_POST);
$fp=fopen("D:\\a.txt","a+");
fwrite($fp,"\n".$str);
print_r(file("D:\\a.txt"));


运行curl_s.php文件打印出了接收参数转换后的数组。但这里有个疑问,在google上也没搜到。
问题:
在curl_s.php使用
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result=curl_exec($ch);
curl_close($ch);
echo $result;
时,却没返回结果,但curl_r.php却正确的执行了!如果我不想直接输出返回结果该怎么办?
   发表时间:2009-04-11  
没返回,表示出错了
打印下var_dump(curl_error($ch));

而且,调试打印最好用var_dump
0 请登录后投票
   发表时间:2009-04-12  
google curl,,在官网可以找到很多PHP的例子

PHP手册也可以看下

恩,习惯使用var_dump
0 请登录后投票
   发表时间:2009-04-13  
willko 写道
没返回,表示出错了
打印下var_dump(curl_error($ch));

而且,调试打印最好用var_dump

按你的方法运行,结果是:string(0) "",没值!?这是为什么?
0 请登录后投票
   发表时间:2009-04-13  
谢谢willko,string(0)"",表示没错。今天打印$result却又成功了,真是无语啊!
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics