क्लाइंट को नहीं पता कि यह एक CSV फ़ाइल है (आखिर यह सिर्फ टेक्स्ट है!)।
इसे किसी भी आउटपुट से पहले जोड़ने का प्रयास करें (आपकी स्क्रिप्ट के शीर्ष पर):
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=file.csv");
header("Pragma: no-cache");
header("Expires: 0");
मूल रूप से, आप क्लाइंट/ब्राउज़र को बता रहे हैं कि आप जिस डेटा को CSV फ़ाइल भेज रहे हैं।
यह काम करना चाहिए।
आप हेडर के बारे में अधिक जानकारी वहां पा सकते हैं:http://php.net/manual/ hi/function.header.php