وبلاگ

دانلود خودکار فایل CSV در PHP


رقیه اباذری رقیه اباذری

 

دانلود خودکار یک فایل CSV با استفاده از PHP، یک ساختار خاص از کد را ایجاد می‌کند که با فایل‌هایی که عموما ایجاد می‌کنیم تفاوت دارند. برای دانلود فایل‌های CSV، باید از فانکشن ()header و پارامتر php://output استفاده شود. این آموزش از باورژن به سه قسمت تقسیم شده است تا اهمیت هر قطعه کد را نشان دهیم.

Automatically downloading a CSV file with PHP takes a particularly different structure of code that would be present in the general creation of files

ست کردن فانکشن header

ست کردن هدر ریکوئست‌های HTTP هنگام دانلود اتوماتیک فایل‌ها، از اهمیت بالایی برخوردار است. اینکار به وسیله آپشن‌های خاص به مرورگر اطلاع می‌دهد که ریکوئستی متفاوت از ریکوئست استاندارد HTTP است. فانکشن ()header را فراخوانی کرده و از پارامترهای زیر در آن استفاده کنید.
یکی از آپشن‌های بسیار مهم در خط دوم کد، آپشن filename است. اینجاست که می خواهید فایلی را تولید و دانلود کنید.

// Set the content type 
header('Content-type: application/csv');
// Set the file name option to a filename of your choice.
header('Content-Disposition: attachment; filename=myCSV.csv');
// Set the encoding
header("Content-Transfer-Encoding: UTF-8");

پر کردن فایل CSV

در مرحله بعد، به جای نوشتن نام فایل واقعی، پارامتر ()fopen به ما امکان دسترسی به بافر خروجی PHP را می‌دهد.

$f = fopen('php://output', 'a'); // Configure fopen to write to the output buffer

نوشتن داده و شروع دانلود

با دو بخش آخر که در کد ما اجرا شده است، می‌توانیم برخی از داده‌های ساختگی را برای نوشتن اضافه کنیم. در آخر، فایل مجازی را می‌بندیم و متعاقباً دانلود شروع می‌شود.

// Write to the csv
fputcsv($f, ["cell1", "cell2", "cell3"]);

// Close the file
fclose($f);
// ... download will start

ترکیب تمامی کدها با هم

حال اگر همه سینتکس‌ها را در کنار هم قرار دهیم، باید قطعه کد زیر را داشته باشیم.

// Set the content type
header('Content-type: application/csv');
// Set the file name option to a filename of your choice.
header('Content-Disposition: attachment; filename=myCSV.csv');
// Set the encoding
header("Content-Transfer-Encoding: UTF-8");

$f = fopen('php://output', 'a'); // Configure fopen to write to the output buffer

// Write to the csv
fputcsv($f, ["cell1", "cell2", "cell3"]);

// Close the file
fclose($f);
// ... download will start

 


php

رقیه اباذری
رقیه اباذری

تو دانشگاه IT خوندم و اکثر منابع کتاب‌های ترجمه شده بودند و صدالبته مبهم :( مثلا element رو "عنصر" ترجمه می‌کردن و من همیشه می‌رفتم تو شیمی و جدول مندلیف. تو باورژن سعی کردم تا حد ممکن مطالب رو با زبان ساده و قابل درک بنویسم. باشد که کسانی که تازه پا به عرصه برنامه‌نویسی گذاشتن، راغب‌تر بشن و با نظرات و فیدبک‌های شما راه هموارتر بشه:)

مطالب مرتبط

مهم‌ترین اشتباهات رایج شرکت‌های توسعه PHP

صاحبان کسب‌وکار این روزها مشتاق داشتن حضوری آنلاین هستند که به حداقل هزینه نگهداری نیاز دارند؛ اینجاست که توسعه PHP به کار می‌آید.

آموزش آرایه‌ها در PHP

در این پست با اصول آرایه ها در PHP آشنا خواهید شد. نحوه ایجاد آرایه و نحوه استفاده از آرایه‌های انجمنی و چند بعدی را یاد خواهید گرفت و نمونه‌های زیادی از آرایه‌ها را در عمل مشاهده خواهید کرد. آرایه در PHP یک ساختار داده است که به شما امکان می‌دهد چند عنصر را در یک متغیر ذخیره کنید. این عناصر به صورت جفت key-value ذخیره می‌شوند. در واقع هر زمان نیاز به ذخیره لیستی از عناصر باشد، می‌توان از یک آرایه استفاده کرد.

استخراج داده‌ها از JSON تودرتو با استفاده از روش خودفراخوانی و حلقه‌ها در PHP

یک سند JSON می‌تواند اشیائی را که در داخل سایر اشیاء JSON قرار دارد، داشته باشد. اشیاء JSON زوج‌هایی با ارزش کلیدی هستند و روش‌های مختلفی وجود دارد که می‌توانید برای دسترسی به اشیاء JSON از یک سند JSON تودرتو استفاده کنید.

دیزاین پترن (الگوهای طراحی) در برنامه‌نویسی

دیزاین پترن‌ها، سلوشن‌هایی (راه‌کارهایی) بهینه و با قابلیت استفاده مجدد، برای مشکلات برنامه‌نویسی هستند که هر روز با آن‌ها سروکار داریم. هر دیزاین پترن در واقع یک الگو است که باید در شرایط درستی پیاده‌سازی شود. دیزاین پترن‌ها مختص زبان خاصی نیستند. یک دیزاین پترن خوب بسته به قابلیت‌های زبان‌های برنامه‌نویسی باید در اکثر زبان‌های برنامه‌نویسی قابل پیاده‌سازی باشد.

دیدگاه‌ها