PHP exec在while循环中
问题描述:
我在执行exec函数时遇到问题while while循环
我想将xml文件传输到服务器问题是传输到服务器成功 但数据xml完全相同,数据仍然是第一个XML数据
是否exec的行为是不能在运行的条件?或者在下一次运行之前我必须清除一些东西?PHP exec在while循环中
mysql_connect("someaddress","root","somepass");
mysql_select_db("somedatabase");
$t_data = mysql_query("SELECT * FROM inbox_hmis WHERE ordernumber = '01' AND status = 'false'");
while($data = mysql_fetch_array($t_data)){
$un_id_sms = $data['id_sms'];
echo "$un_id_sms";
$xmlget = "/var/www/sms/basedata/$un_id_sms.xml";
exec("curl -d @$xmlget http://apps.dhis2.org/demo/api/dataValueSets -H Content-Type:application/xml -u admin:password", $output);
$outx = $output[0];
$outx_r = str_replace("'", '"', $outx);
echo "$outx_r | ";
}
$un_ind_sms
是唯一的ID和xml文件的名称$outx_r
是XML数据
答
您还没有调用exec之前重置变量$output
的内容。例如。
unset($output); // as recomended in php docs
在执行调用之前将解决您的问题。
正如exec文档中所述,如果行数组已经包含数据,那么新结果将被追加到它。
为什么使用命令行curl而不是php curl库? – 2013-07-11 03:38:51
这是从我的客户标准 –
@OkiPrasastio,您的客户是疯了。 – Brad