کار با فایل ها در PHP

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

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

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

ما اطلاعات را در فایل متنی ، “newfile.txt” ذخیره خواهیم کرد:

ابتدا آدرس ip کاربری که به سایت متصل شده در خط زیر در متغیر ip$ ذخیره می شود.

$ip=$_SERVER['REMOTE_ADDR'];

سپس فایل به صورت خروجی باز می شود.

 $myfile=fopen("newfile.txt","a");

اطلاعات زمانی و ip کاربر در متغیر رشته ای txt$ قرار می گیرد.

$txt="\n IP: ". $ip . "   " . "Visit on " . date("y/m/d") ." " .date("h:m:s");

سپس اطلاعات در فایل ذخیره می شوند.

fwrite($myfile,$txt);

در انتها فایل بسته می شود.

   fclose($myfile);

تمام کد بصورت زیر آمده است:

<?php

    $ip=$_SERVER['REMOTE_ADDR'];
    //echo $ip;
    $myfile=fopen("newfile.txt","a");
    date_default_timezone_set("Iran");
    $txt="\n IP: ". $ip . "   " . "Visit on " . date("y/m/d") ." " .date("h:m:s");
    fwrite($myfile,$txt);
    fclose($myfile);
?>