خواندن فایل CSV

CSV یک نوع فایل بوده که مقادیر آن به وسیله کاما از هم جدا شده اند. CSV مخفف کلمات Comma Separated Values می باشد. برخی نرم افزارها مانند Excel به شما اجازه ذخیره فایل هایی با این پسوند را می دهند. در این درس می خواهیم در مورد خواندن این فایل ها توضیح دهیم. عکس زیر سطرها و ستونهای نرم افزار اکسل را نشان می دهد :

read-csv-file-in -php-01
 
در عکس زیر هم نحوه ذخیره فایل بالا با پسوند CSV نمایش داده شده است :
read-csv-file-in-php-02
 
حال اگر با یک ویرایشگر متن فایل بالا را باز کنیم، چیزی شبیه به این را مشاهده خواهیم کرد :
read-csv-file-in -php-06
همانطور که مشاهده می کنید مقادیر در فایل CSV بالا با کاما از هم جدا شده اند. تابعی در PHP با نام ()fgetcsv وجود دارد که به شما اجازه می دهد با این نوع فایل ها کار کنید. عملکرد این تابع شبیه به تابع ()fgetc بوده با این تفاوت که مقادیر موجود در هر خط را بر اساس کاما از هم جدا کرده و در داخل یک آرایه قرار می دهد. برای خواندن مقادیر موجود در فایل CSV بالا ابتدا فایل را باز کرده و سپس با استفاده از یک حلقه و تابع ()fgetcsv مقادیر را چاپ می کنیم :

 
<?php
    $MyCSVFile = fopen('D:/MyFolder/MyFile.csv','r');
    
    while(!feof($MyCSVFile))
    {
        $LINE = fgetcsv($MyCSVFile,0,',');
        echo "{$LINE[0]} {$LINE[1]} {$LINE[2]} <br/>";                    
    }
    
    fclose($MyCSVFile);
?>

در کد بالا ابتدا فایل MyFile.csv با تابع ()fopen باز می کنیم. سپس در قسمت شرط حلقه هر تابع ()fgetcsv هر خط از فایل را به یک آرایه تبدیل می کند. و سپس در داخل حلقه مقادیر آرایه را چاپ می کنیم.
read-csv-file-in-php-03

لطفا اگر نظر، پیشنهاد و یا انتقادی در باره مطلب بالا دارید در قسمت زیر مطرح بفرمایید.

  1. mohammad پاسخ دادن

    اقا سلام..نمیشه همینو با ویژوال بیسیک خوند؟؟تابعی برای ارایه کردن تو اون وجود داره؟