Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法将POST请求中收到的文件上载到PHP中的其他API_Javascript_Php_Curl - Fatal编程技术网

Javascript 无法将POST请求中收到的文件上载到PHP中的其他API

Javascript 无法将POST请求中收到的文件上载到PHP中的其他API,javascript,php,curl,Javascript,Php,Curl,我正在使用AngularJS将PDF文件上载到服务器上的upload.php。upload.php通过使用curl提供的API将$\u文件receive-in-POST请求进一步上传到另一台服务器 $\u FILES对象包含PDF文件 这是upload.php的一部分,它完成以下工作: $filename = $_FILES['file']['name']; $filedata = $_FILES['file']['tmp_name']; $curl = curl_init();

我正在使用AngularJS将PDF文件上载到服务器上的upload.php。upload.php通过使用curl提供的API将
$\u文件
receive-in-POST请求进一步上传到另一台服务器

$\u FILES
对象包含PDF文件

这是upload.php的一部分,它完成以下工作:

$filename = $_FILES['file']['name'];
$filedata = $_FILES['file']['tmp_name'];
    $curl = curl_init();
    $payload = json_encode(array(
                'file' => "@$filedata", "filename" => $filename));
    curl_setopt_array(
        $curl,
        array(
            CURLOPT_RETURNTRANSFER => 1,
            CURLOPT_URL => 'https://api.mydmian.in/fileupload',
            CURLOPT_POST => 1,
            CURLOPT_POSTFIELDS => $payload
        )
    );
    $resp = curl_exec($curl);

如何将$\u文件转换为文件对象,以便将其附加到curl有效负载中?

您可以使用
文件获取内容()
检索上载文件的内容,并将其存储在
$filedata
中,然后将其附加到
$payload

$filename = $_FILES['file']['name'];
$filedata = file_get_contents($_FILES['file']['tmp_name']);
$curl = curl_init();
$payload = json_encode(array(
            'file' => $filedata, "filename" => $filename));
curl_setopt_array(
    $curl,
    array(
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_URL => 'https://api.mydmian.in/fileupload',
        CURLOPT_POST => 1,
        CURLOPT_POSTFIELDS => $payload
    )
);
$resp = curl_exec($curl);