आपके कोड के अनुसार, $row[1]
"फ़ाइल नाम" है। सामग्री प्रकार शीर्षलेख में सामग्री प्रकार होना चाहिए इसके बजाय, यानी फ़ाइल माइम प्रकार, उदाहरण के लिए:
header('Content-type: application/pdf');
अगर आप फ़ाइल नाम जोड़ना चाहते हैं:
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename='.$row[1]);
print $data;
सुनिश्चित करें कि $data
फ़ाइल की सामग्री है, जिसे आप readfile()
से ले सकते हैं उदाहरण के लिए।
मैनुअल पर और पढ़ें:http://php.net/manual/en/function .readfile.php
ध्यान रखें कि एक ब्राउज़र द्वारा पीडीएफ और छवियों को आसानी से देखा जा सकता है, लेकिन मुझे लगता है कि एक्सेल को कुछ तदर्थ की आवश्यकता है उसके लिए प्लगइन।
एक अधिक संपूर्ण उदाहरण मैन्युअल से बाहर , आपको अधिक गहन विचार प्राप्त करने के लिए (वे सभी शीर्षलेख आवश्यक नहीं हैं, और आपको अपने कोड के अनुसार दूसरों को बदलना चाहिए):
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;