2012-02-28 124 views
0

嘿,我嗨,我写了一个函数强制一个json文件,但似乎缓冲区连接文件莫名其妙。通常它应该只是一个JSON对象,但它看起来像是页面本身被插入到文件中的那样? ?PHP创建一个文件发送,输出缓冲区已经发送?

[{"key":"16","role":null,"region":"Great White North","inspection_type":"citrus","inspection_number":"996","customer_number":"206-420-9564","report_date":"2012-10-21","status":"1","order_date":"2012-02-23 15:24:34","customer":"Jd Daniel","customer_division":"Field worker","memo":null,"billing_key":null,"report_key":"996","shipper":"Hanjin","po":"33215","location":"Boulder, CO","inspector":"Newman","commodity":"Apples","count":"32","size":"medium","label":"Granny Smith","variety":"Golden","pack_date":"0000-00-00","grower_lot":"Lots to grow","color1":"4","color2":"15","texture1":"","texture2":"","puff1":"","puff2":"","scar1":"","scar2":"","solidity1":"","solidity2":"","green1":"","green2":"","sugar_brix1":"","sugar_brix2":"","rating":"0","comments":"Comments 1"},{"key":"17","role":null,"region":"Great White North","inspection_type":"citrus","inspection_number":"996","customer_number":"206-420-9564","report_date":"2012-10-21","status":"0","order_date":"2012-02-23 15:24:34","customer":"Jd Daniel","customer_division":"Field worker","memo":null,"billing_key":null,"report_key":"996","shipper":"Jiun Ming","po":"4215","location":"South Holywood","inspector":"Gadget","commodity":"Grapes","count":"29","size":"46","label":"sweet","variety":"green","pack_date":"0000-00-00","grower_lot":"","color1":"","color2":"","texture1":"","texture2":"","puff1":"","puff2":"","scar1":"","scar2":"","solidity1":"","solidity2":"","green1":"","green2":"","sugar_brix1":"","sugar_brix2":"","rating":"0","comments":"Comments 2"}] 
    <!DOCTYPE html> 
    <html lang="en-US"> 
     <head> 
     <title> </title> 

     <script src='http://www.google.com/jsapi'></script> 
     <script> google.load('jquery', '1.7.1'); </script> 

     <style type="text/css"> 
     body {font-family: arial;} 
     p, ul {width:100%; text-align:left;font-size:80%;} 
     .reports_box {width:auto; padding:25px 20px 20px 20px;border:1px solid #91bce6;background-color:#eff5fb;} 
     input {width:121px; font-size:15px;padding:5px;} 
     .check input {padding:0 !important;} 
     .caps {text-transform:capitalize;} 

奇怪的吧?我不能让缓冲区刷新正确,希望能有更好的方式来实现这一目标。这是我的功能。

function getReportDown($array) { 
unset($array['select']); 

$cleanArray = filter_var_array($array ,FILTER_SANITIZE_STRING); 

$array=array(); // needs to be secured -jd 
foreach($cleanArray as $k=>$v) { 
    if(strpos($k,'find_') === false) { 
    $array[] = explode(':',$k); } 
} 

    require('perms.php.inc'); 
    require('dbconnect.class.inc'); 

    $dbc = Database::obtain(DB_HOST, DB_USER, DB_PASS, DB_NAME); 
    $dbc->connect(); 

    $form=array(); 
    foreach($array as $key=>$val) { 
     $form[] = array_pop($dbc->fetch_array("SELECT * FROM reports JOIN (SELECT * FROM `{$val[0]}` WHERE `key` = {$val[1]}) fruits ON inspection_number = fruits.report_key ORDER BY report_date DESC")); 
    } 

    $dbc->close(); 

    $rand = randomAlphaNum(10).'.json'; 

    header("Content-type: application/json"); 
    header("Content-disposition: attachment; filename=$rand"); 
    header('Content-Transfer-Encoding: binary'); 
    echo json_encode($form); 

    //unlink($rand); 

} 

回答

0

exitdie后您呼应JSON。

相关问题