如何使用curl PHP在localhost上发送和接收图像文件?

时间:2015-03-06 18:01:58

标签: php curl

我正在尝试将图像文件从一个PHP脚本发送到另一个PHP脚本。

这是发送代码

<?php

    $url = "http://localhost/profiles/CurlPostFileRESPONSE.php"; 
    $filename = $_FILES['file']['name'];
    $filedata = $_FILES['file']['tmp_name'];
    $filesize = $_FILES['file']['size'];



    $finfo = finfo_open(FILEINFO_MIME_TYPE);
    $finfo = finfo_file($finfo, $filename);
    // var_dump($finfo);
    $cfile = new CURLFile($filename,$finfo,basename($filename));    
    // echo $cfile->postname;
    $data = array( "filedata" => $cfile, "filename" => $cfile->postname);

    if ($filedata != '')
    {
        $headers = array("Content-Type: multipart/form-data"); // cURL headers for file uploading

        $ch = curl_init();


        curl_setopt($ch, CURLOPT_URL,$url);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_HTTPHEADER,  $headers);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $cfile);
        curl_setopt($ch, CURLOPT_INFILESIZE, $filesize);
        // curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);
        // curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        curl_exec($ch);

        curl_close($ch);
    }


    // echo $response;
    ?>

这是接收代码:

<?php
    var_dump($_POST);
    var_dump($_FILES);
    // echo $_POST['filedata'];
    // var_dump($_POST);
    ?>

我收到此回复而不是图片

array (size=3)
  'name' => string 'signout.png' (length=11)
  'mime' => string 'image/png' (length=9)
  'postname' => string 'signout.png' (length=11)
array (size=0)
  empty

我希望响应是图像或至少$ _FILES或其他东西,以便我可以相应地使用图像。

0 个答案:

没有答案
相关问题