PHP:创建XML文件并用curl发送它?

问题描述:

如何用PHP创建一个XML文件然后用curl发送它?PHP:创建XML文件并用curl发送它?

我已经走到这一步:

<?php 
ob_start(); 

header("Content-type: text/xml"); 
header('Content-Disposition: attachment; filename="feed.xml"'); 
?> 

<products> 
<?php 
foreach ($products as $product) 
{ 
?> 
<product></product> 
<?php  
} 
?> 
</products> 

<?php 
ob_flush(); 

$curlOpts = array(
    CURLOPT_URL => 'https://website.com/api/importfile', 
    CURLOPT_GET => TRUE, 
    CURLOPT_RETURNTRANSFER => TRUE, 
    CURLOPT_HTTPHEADER => array('Authorization: api 1234-56789', 'Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'Content-Disposition: form-data; name="feed"; filename="feed.xml"') 
); 

$ch = curl_init(); 
curl_setopt_array($ch, $curlOpts); 
$response = curl_exec($ch); 
curl_close($ch); 
?> 

但不知道如何继续。我怎样才能让它成为一个“文件”并将其连接到curl调用?我必须先将它作为文件保存在本地吗?或者可以将它保存到curl调用中?

+0

你的意思'upload'它或把它作为后的参数? – hassan

+0

API文档中提到'为了上传excel或xml文件,您需要使用要导入的文件对导入文件API执行POST调用。然后'此请求返回一个http状态码,指示调用的方式,包括上传文件的ID。“然后'调用PUT导入文件API时使用ImportId。' –

看来你只需要使用curl发送文件...这可能帮助:

http://code.stephenmorley.org/php/sending-files-using-curl/

+0

好吧,我需要先将文件保存在本地? –

+0

是的....你可能需要创建一个文件 –