باز کردن/خواندن/بستن فایل PHP

در این بخش، ما به شما نشان خواهیم داد که چگونه می‌توانید یک فایل را در سرور باز، خواند و ببندید.

باز کردن فایل PHP - fopen()

بهترین روش برای باز کردن یک فایل، استفاده از تابع fopen() است. این تابع گزینه‌های بیشتری از تابع readfile() ارائه می‌دهد.

در این دوره، ما از فایل متنی "webdictionary.txt" استفاده خواهیم کرد:

AJAX = Asynchronous JavaScript and XML
CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL = Structured Query Language
SVG = Scalable Vector Graphics
XML = زبان نشانه‌گذاری قابل گسترش

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

Example

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fread($myfile, filesize("webdictionary.txt"));
fclose($myfile);
?>

Run Instance

توجه:ما در ادامه توابع fread() و fclose() را یاد خواهیم گرفت.

فایل با یکی از مود‌های زیر باز می‌شود:

مود توضیح
r باز کردن فایل برای خواندن. اشاره‌گر در ابتدای فایل شروع می‌شود.
w باز کردن فایل برای نوشتن. محتوای فایل حذف می‌شود یا اگر فایل وجود ندارد، یک فایل جدید ایجاد می‌شود. اشاره‌گر در ابتدای فایل شروع می‌شود.
a باز کردن فایل برای نوشتن. داده‌های موجود در فایل حفظ می‌شود. اشاره‌گر در انتهای فایل شروع می‌شود. اگر فایل وجود ندارد، فایل جدید ایجاد می‌شود.
x ایجاد یک فایل جدید برای نوشتن. در صورت وجود فایل، FALSE و خطا بازمی‌گرداند.
r+ باز کردن فایل برای خواندن و نوشتن. اشاره‌گر در ابتدای فایل شروع می‌شود.
w+ باز کردن فایل برای خواندن و نوشتن. محتوای فایل حذف می‌شود یا اگر فایل وجود ندارد، ایجاد می‌شود. اشاره‌گر در ابتدای فایل شروع می‌شود.
a+ باز کردن فایل برای خواندن و نوشتن. داده‌های موجود در فایل حفظ می‌شود. اشاره‌گر در انتهای فایل شروع می‌شود. اگر فایل وجود ندارد، فایل جدید ایجاد می‌شود.
x+ ایجاد یک فایل جدید برای خواندن و نوشتن. در صورت وجود فایل، FALSE و خطا بازمی‌گرداند.

خواندن فایل توسط PHP - fread()

توابع fread() فایل باز را می‌خواند.

اولین پارامتر fread() شامل نام فایل مورد انتظار برای خواندن است، دومین پارامتر تعداد بیشترین بایت‌هایی که باید خوانده شوند را مشخص می‌کند.

در اینجا کد PHP به پایان فایل "webdictionary.txt" می‌رسد:

fread($myfile, filesize("webdictionary.txt"));

بستن فایل توسط PHP - fclose()

توابع fclose() برای بستن فایل‌های باز استفاده می‌شود.

Note:بستن تمام فایل‌ها پس از استفاده یک عادت خوب برنامه‌نویسی است. شما نمی‌خواهید فایل‌هایی که باز کرده‌اید، منابع سرور شما را اشغال کنند.

fclose() نیاز به نام فایل بسته شده (یا متغیری که شامل نام فایل است) دارد:

<?php
$myfile = fopen("webdictionary.txt", "r");
// کد مورد انتظار برای اجرا...
fclose($myfile);
?>

خواندن یک خط فایل توسط PHP - fgets()

توابع fgets() برای خواندن یک خط از فایل استفاده می‌شود.

نتیجه نمونه خروجی خط اول فایل "webdictionary.txt":

Example

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fgets($myfile);
fclose($myfile);
?>

Run Instance

Note:After calling the fgets() function, the file pointer moves to the next line.

PHP Check End-Of-File - feof()

The feof() function checks if it has reached the "end-of-file" (EOF).

feof() is very useful for traversing data of unknown length.

The following example reads the "webdictionary.txt" file line by line until end-of-file:

Example

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// Output single line until end-of-file
while(!feof($myfile)) {
  echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>

Run Instance

PHP Read Single Character - fgetc()

The fgetc() function is used to read a single character from the file.

The following example reads the "webdictionary.txt" file character by character until end-of-file:

Example

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// Output single character until end-of-file
while(!feof($myfile)) {
  echo fgetc($myfile);
}
fclose($myfile);
?>

Run Instance

Note:After calling the fgetc() function, the file pointer moves to the next character.

PHP Filesystem Reference Manual

For the complete PHP Filesystem Reference Manual, please visit the one provided by CodeW3C.com PHP Filesystem Reference Manual.