সিএসভি মাইমে টাইপ কীভাবে ব্যবহার করবেন?


125

আমি যে ওয়েব অ্যাপ্লিকেশনটিতে কাজ করছি তাতে ব্যবহারকারী কোনও সিএসভি ফাইলের লিঙ্কে ক্লিক করতে পারেন। মাইম-টাইপের জন্য এখানে কোনও শিরোনাম সেট নেই, তাই ব্রাউজারটি কেবল এটি পাঠ্য হিসাবে উপস্থাপন করে। আমি এই ফাইলটি একটি .csv ফাইল হিসাবে প্রেরণের জন্য চাই, যাতে ব্যবহারকারীরা এটি সরাসরি ক্যালক, এক্সেল, জ্ঞানমেরিক, ইত্যাদি দিয়ে খুলতে পারেন

header('Content-Type: text/csv');
echo "cell 1, cell 2";

এই কোডটি আমার কম্পিউটারে প্রত্যাশার মতো কাজ করে (এটি সর্বদা কীভাবে হয় না?) তবে অন্য কম্পিউটারে কাজ করে না।

আমার ব্রাউজারটি এফএফ 3.0.1 (লিনাক্সে) এর একটি নাইট বিল্ড। এটি যে ব্রাউজারগুলিতে কাজ করে নি সেগুলি হ'ল IE 7 এবং এফএফ 3.0 (উইন্ডোতে)

আমি কি অজানা সম্পর্কে কোন প্রশ্ন আছে?

উত্তর:


219

আপনি ব্রাউজারকে এই জাতীয় কিছু করে "যেমন সংরক্ষণ করুন ..." ডায়ালগ খুলতে বাধ্য করার চেষ্টা করতে পারেন:

header('Content-type: text/csv');
header('Content-disposition: attachment;filename=MyVerySpecial.csv');
echo "cell 1, cell 2";

যা বেশিরভাগ প্রধান ব্রাউজারগুলিতে কাজ করা উচিত।


12

আপনি কোনও ভাষা বা কাঠামো নির্দিষ্ট করছেন না, তবে ফাইল ডাউনলোডের জন্য নিম্নলিখিত শিরোনামটি ব্যবহৃত হয়:

"Content-Disposition: attachment; filename=abc.csv"

5

ইন্টারনেট এক্সপ্লোরারের সাহায্যে আপনার প্রায়শই প্রগমা: পাবলিক শিরোনামটি নির্দিষ্টভাবে ডাউনলোডের জন্য ডাউনলোড করতে হয় ..

header('Pragma: public');

শুধু আমার 2 সেন্ট ..


5
প্রগমা: ইন্টারনেট এক্সপ্লোরারের জন্য জনসাধারণের কোনও অর্থ নেই। (আমি প্রশ্নের মধ্যে থাকা উপাদানটিতে কাজ করেছি এবং উত্সটি গ্রিপ করেছি)।
এরিকল

সম্ভবত এর আসল ইউটিলিটিটি হ'ল একটি প্রিসিস্টিং প্রগমা: নো-ক্যাশে শিরোলেখ?
Doin থেকে

2

এই কোডটি CSV সহ যে কোনও ফাইল রফতানি করতে ব্যবহার করা যেতে পারে

// application/octet-stream tells the browser not to try to interpret the file
header('Content-type: application/octet-stream');
header('Content-Length: ' . filesize($data));
header('Content-Disposition: attachment; filename="export.csv"');

2
"অক্টসট্রিম" বোঝানো হচ্ছে "অকটেট-স্ট্রিম"
এরিকলও

2
এটি কিছু ব্রাউজারগুলিতে একটি সতর্কবার্তা তৈরি করতে পারে: রিসোর্স ডকুমেন্ট হিসাবে ব্যাখ্যা করা হয়েছে তবে
এমআইএমআই
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.