2013-06-07 2 views
0

Я создаю текстовый файл для загрузки в PHP, но он всегда имеет кучу цифр 1s в конце, например. 1111111111111111111111 Это происходит, если я сброшу буфер или нет. Сам вывод хорош. У него просто этот посторонний мусор в конце. Любые подсказки?PHP - создать файл для загрузки

function exportMyOrders() { 
    $output = $this->getMyOutput(); 

    // Push the report. 
    $today = getdate(); 
    $today_str = $today['year'].'-'.$today['mon'].'-'.$today['mday']; 
    $export_file = 'MyFileName_'.$today_str.'.txt'; 
    header("Content-Description: File Transfer"); 
    header("Content-Disposition: attachment; filename=" . urlencode($export_file)); 
    header("Content-Type: application/force-download"); 
    header("Content-Type: application/octet-stream"); 
    header("Content-Type: application/download"); 
    header("Pragma: no-cache"); 
    header("Expires: 0"); 
    //  flush(); 

    print $output; 
    die(); 
} 
+0

В конце выходного файла $ или в конце файла? –

+1

Я не думаю, что установка трех заголовков Content-Type делает что-нибудь полезное; не могли бы вы также добавить код для 'getMyOutput'? – andrewsi

ответ

-1

AHA! Я нашел это. В функции, создающей выход, я имел следующее:

$output .= print($next_order); 

Не знаю, почему я это сделал. Исправлено его простым:

$output .= $next_order; 

DUH!

Смежные вопросы