У меня есть кусок кода, который создает правильный PDF на сервере, но когда я пытаюсь загрузить его, он загружает как коррумпированные:PHP загрузки Создание PDF PDF коррумпированной
for($i = 0 ; $i < $num_tokens ; $i++){
#$tokens[$i] = pronto_aes_decrypt($token_crypt[$i] , $prontoKey);
$tokens[$i] = pronto_aes_decrypt($token_crypt[$i] , $prontoKey);
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,$tokens[$i]);
}
unlink("tokens.pdf");
$pdf->Output('tokens.pdf','F');
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="tokens.pdf"');
EDIT: Здесь как выглядит код теперь с правильным типом контента и правильной установкой функции выхода:
$pdf = new FPDF();
for($i = 0 ; $i < $num_tokens ; $i++){
$tokens[$i] = pronto_aes_decrypt($token_crypt[$i] , $prontoKey);
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,$tokens[$i]);
}
unlink("tokens.pdf");
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="tokens.pdf"');
$pdf->Output('tokens.pdf','F');
Ошибка все еще сохраняется.
Мм, почему бы вам установить 'Content-Type: текст/csv' для файла в формате PDF ?? – jszobody
И есть '$ pdf-> Output (...)', где он отправляет данные PDF? Перед этим вам нужно отправить соответствующие заголовки, а не после. – jszobody
Убедитесь, что ничто в вашем собственном коде не генерирует никакого вывода на экран –