当前位置:首页 > PHP教程 > php高级应用 > 列表

Drupal 通过cURL Post方式发送一个文件

发布:smiling 来源: PHP粉丝网  添加日期:2014-01-10 13:34:24 浏览: 评论:0 

众所周知PHP的cURL扩展可以用来模拟表单提交,在Drupal中有drupal_http_request函数来执行一个HTTP请求,它可以通过POST方式来发送一个文件,但是使用起来没有cURL那么方便,这里我们主要讲解如何在Drupal中Post一个文件到远程的服务器地址。

网页Form表单,代码如下:

  1. <form enctype=”multipart/form-data” method=”POST” url=”http://blog.lixiphp.com/demo/http_request/post.php”> 
  2. <input name=”username” type=”text” value=”" /> 
  3. <input name=”password” type=”password” value=”" /> 
  4. <input type=”checkbox” name=”rememberme” id=”" /> 
  5. <input name=”avatar” type=”file” /> 
  6. </form> 

上面表单包含了演示文本框、密码、复选框和文件形式的提交,Drupal cURL模拟表单提交POST,代码如下:

  1. <?php 
  2. $url = ‘http://blog.lixiphp.com/demo/http_request/post.php’; 
  3. $ch = curl_init(); 
  4. curl_setopt($ch, CURLOPT_HEADER, 0); 
  5. curl_setopt($ch, CURLOPT_VERBOSE, 0); 
  6. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
  7. curl_setopt($ch, CURLOPT_URL, $url); 
  8. curl_setopt($ch, CURLOPT_POST, true); 
  9. $post = array
  10. ‘username’ => ‘lixiphp’, 
  11. ‘password’ => ’123456′, 
  12. ‘rememberme’ => ’1′, 
  13. ‘avatar’=> ‘@’.$filename
  14. ); 
  15. curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 
  16. $response = curl_exec($ch); 
  17. $response 
值为网页Form表单提交后输出的HTML。

Tags: Drupal cURL Post 发送文件

分享到: