使用CURL将$ _FILES信息发送到另一个脚本

时间:2012-12-18 08:07:42

标签: php javascript jquery curl upload

我使用jQuery文件上传从客户端向a.php发布了一个文件,但我需要将此信息转发到b.php(与a.php不同的域)以进行进一步处理。我如何使用CURL实现这一目标?谢谢!

2 个答案:

答案 0 :(得分:2)

转发您需要的$_FILES数据:

  1. 将文件保存在a.php
  2. 中的服务器上
  3. 通过POST请求将该文件发送到b.php
  4. a.php中的代码可能如下所示:

    $file_path = "full/path/to/upload/dir/" . basename($_FILES['my_file']['name']);
    if(move_uploaded_file($_FILES['my_file']['tmp_name'], $file_path)) {
        $ch = curl_init('url/of/b.php'); 
        curl_setopt($ch, CURL_POST, TRUE);
        curl_setopt($ch, CURL_POSTFIELDS, array('my_file' => '@' . $file_path));
        $response = curl_exec($ch);
    } else {
        echo "Can't save file";
    }
    

    b.php中,该文件将再次出现在$_FILES['my_file']

答案 1 :(得分:0)

喜欢这个吗?

$filename = '/foo/bar';
$postargs = array(
  'foo' =>'bar', //normal postfield
  'fileentry' => '@'.$filename
);

$ch = curl_init(); 
curl_setopt($ch,CURL_POSTFIELDS, $postargs);//give as array for proper encoding.
curl_exec();