خواندن محتوای فایل با readfile در php :
خواندن محتوای فایل با استفاده از تابع readfile در زبان برنامه نویسی PHP یک روش ساده و کارآمد برای خواندن و نمایش محتوای یک فایل است. تابع readfile یک فایل را خوانده و محتوای آن را به عنوان خروجی میدهد. این تابع با استفاده از فشردهسازی GZIP و CHUNKED همچنین قابلیت ارسال فایلهای بزرگ را نیز دارد.
جهت استفاده از تابع readfile در ابتدا باید مسیر فایل مورد نظر را به عنوان پارامتر به آن ارسال کنیم. مسیر فایل میتواند مسیر مطلق یا نسبی باشد. بهتر است از مسیر مطلق استفاده شود تا مشکلات ناشی از تغییر مسیر کارنامه را به حداقل برسانیم.
در مثال زیر به خواندن و نمایش محتوای یک فایل با استفاده از تابع readfile میپردازیم:
“`php
$file = ‘path/to/file.txt’;
if (file_exists($file)) {
header(‘Content-Type: application/octet-stream’);
header(‘Content-Disposition: attachment; filename=”‘ . basename($file) . ‘”‘);
readfile($file);
} else {
echo “فایل مورد نظر وجود ندارد.”;
}
?>
“`
در این مثال، ابتدا مسیر فایل مورد نظر را در متغیر $file قرار داده و سپس با استفاده از تابع file_exists بررسی میکنیم که آیا فایل وجود دارد یا خیر. اگر فایل وجود داشته باشد، سرآیندهای header برای تنظیم نوع محتوا و نحوه نمایش فایل تنظیم میشوند. در این مثال، نوع محتوای فایل به application/octet-stream تنظیم شده است که به معنای دانلود فایل است. همچنین، با استفاده از سرآیند Content-Disposition و با استفاده از تابع basename، نام فایل به عنوان نام فایل دانلود شده تعیین میشود. در نهایت، با استفاده از تابع readfile فایل خوانده شده و محتوای آن به عنوان خروجی نمایش داده میشود. در صورتی که فایل وجود نداشته باشد، پیغام “فایل مورد نظر وجود ندارد.” نمایش داده میشود.
استفاده از تابع readfile در PHP بسیار ساده است و به راحتی میتوان از آن برای خواندن و نمایش محتوای فایلها استفاده کرد. این تابع از قابلیتهای بسیاری مانند فشردهسازی GZIP و CHUNKED نیز پشتیبانی میکند که باعث میشود بتوان فایلهای بزرگ را بدون مشکل خواند و نمایش داد.