Ifølge din kode, $row[1]
er "filnavnet". Indholdstypeoverskriften skal indeholde indholdstypen i stedet, dvs. fil mime-typen, for eksempel:
header('Content-type: application/pdf');
Hvis du vil tilføje et filnavn:
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename='.$row[1]);
print $data;
Sørg for at $data
er indholdet af filen, noget du kan tage fra readfile()
for eksempel.
Læs mere om manualen:http://php.net/manual/en/function .readfile.php
Husk på, at selvom PDF og billeder nemt kan ses af en browser, tror jeg, at Excel har brug for nogle ad hoc plugin til det.
Et mere komplet eksempel lige ud af manualen , for at give dig en mere grundig idé (ikke alle disse overskrifter er nødvendige, og du bør ændre andre i overensstemmelse med din kode):
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;