خواندن فایل CSV با php

  • آپدیت شده در تاریخ

خواندن فایل CSV با php

در این آموزش به شما کمک می کنیم که فایل CSV را با php باز کنید. فایل CSV یا Character Separated Values یا Comma Separated Values (مقادیر جدا شده با ویرگول) یک نوع فایل با متن ساده است که محتویات آن با استفاده از کاما (,)  و یا یک کاراکتر به عنوان جدا کننده ، قرار دارند . این نوع فایل ها برای ذخیره داده های ساده بسیار ساده و راحت است .

php دو تابع inbuilt (از پیش تعریف شده)  خواندن فایل CSV دارد

  • Fgetcsv() – خواندن فایل CSV از طریق url فایل منبع
  • Str_gercsv() – خواندن داده های CSV ذخیره شده در یک متغییر

خواندن فایل CSV با php

خواندن فایل CSV با php و تابع fgetcsv()

این تابع آدرس فایل CSV را به صورت اجباری در آرگومان اول قبول می کند . تابع fgetcsv() اطلاعات فایل CSV را خوانده و آن را تبدیل به یک آرایه می کند . سینتکس کلی :

پارامتر                                    توضیحات

$file_handle                        فایل منبع CSV

$limit                                    حداکثر طول برای خواندن یک خط از داده

$separator                          کاراکتر جداکننده  داده های فایل CSV

$enclosure                          کاراکتر استفاده شده برای احاطه داده ها

$escape_character             کاراکتر صرف شده هنگام خواند فایل CSV

 

نکته :

  • اگر $file_handle دارای یک مقدار معتبر نباشد ، در این صورت مقدار بازگشتی تابع fgetcsv() ، NULL خواهد بود
  • با تعریف کردن مقدار پارامتر $limit ، سرعت اجرای این تابع افزایش می باید

 

مثال خواندن فایل CSV با php

اول از همه ، باید یک فایل  CSV بسازیم . فایل CSV که برای این مثال استفاده کردیم به اینصورت است :

fruits.csv

در فایل CSV بالا ، کاراکتر کاما (,) به عنوان جداکننده و دابل کئت (“) به عنوان کاراکتر احاصه کننده (enclosure) استفاده شده است.

فایل CSV بالا شامل اطلاعاتی از میوه ها است . مقادیر این فایل اسم ، رنگ و کد رنگی (hex) میوه ها است . کد خواندن فایل CSV با php به صورت زیر است .

در این اسکریپت ، ما تابع fgetcsv() را تا زمانی که به اخرین خط برسد تکرار و فراخوانی میکنیم .هر دفعه ، هر خط از داده را به یک آرایه تبدیل می کند.

خواندن داده رشته ای CSV با php

تابع str_getcsv() برای خواندن CSV از یک داده رشته ای به جای فایل استفاده می شود.سینتکس کلی به اینصورت است :

آرگومان اول برای پاس دادن داده رشته ای CSV به تابع استفاده شده است ، بقیه آرگومان ها برا همان هدف قبلی که در تابع fgetcsv() دیدیم ، به کار بردیم. در این تابع هیچ محدودیتی برای خواندن خط های رشته CSV نداریم

مثال str_getcsv()

اول از همه ، ما باید اطلاعات فایل fruits.csv را در یک متغییر ذخیره و آن را به تابع str_getcsv() پاس بدیم . و سپس ، این تابع ، به ازای هر جدا کننده فراخوانی می شود . در بین این عملیات ، هر داده جدا شده را یک فیلد جداگانه قرار می دهد .

اسکریپت php به این صورت است :

خروجی :

دقیقا یک خروجی یکسان برای هر دو مثال داریم .

با تکرار این آرایه ، می توانیم این داده ها به به روش های مختلف استفاده کنیم . برای مثال ، نمایش CSV در قالب یک grid یا ساختن یک دستور کوئری یا غیره …

نمایش داده های CSV در قالبت grid

خواندن فایل CSV با php

ساخت کوئری با استفاده از داده های CSV

خواندن فایل CSV با php

دیدید به چه راحتی است خواندن فایل CSV با php . پلاگین های مختلفی برای این کار ارایه شده است ولی شاید نمی دانستید به چه صورت این کار قابل انجام است اما الان به راحتی می توانید هر فایل CSV را بخوانید ، داده هایشان را تفکیک کنید و در شکل های مختلف نمایش و یا داخل دیتابیس ذخیره کنید .

برای دانلود اسکریپت کامل خواندن فایل CSV با php از قسمت زیر اقدام کنید

موفق و پیروز باشد.

حسن شفیعی توسعه دهنده وب و موبایل مدیر سایت علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم. اگر نیاز به برنامه نویس برای انجام پروژه و نوشتن اسکریپت های سمت وب, اپلیکیشن های اندروید و ios, پیدا کردن راه حل توسعه و غیره داشتید حتما از طریق تماس با ما/ واتساپ/ تلگرام بهم پیام بدید. برایتهیه هاست مطمین و پرسرعت کلیک کنید
مطالب زیر را حتما بخوانید
دیدگاه کاربران (۲)

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

  1. soap ۶ آبان ۱۳۹۹

    اگر بخواهیم چند فایل csv بخونیم چیکار باید کنیم ؟

    پاسخ
    1. حسن شفیعی ۶ آبان ۱۳۹۹

      سلام. نام فایل ها رو داخل یک آرایه بزارید و بعد با یک حلقه که تابع اصلی داخلش هست همه را بخوانید

      پاسخ
دوره های آموزشی