باز کردن و بستن فایل ها در زبان php

در زبان برنامه نویسی php تابع fopen برای باز کردن یک فایل میباشد . این تابع دو ورودی میپذیرد که اولی نام فایلی است که میخواهیم باز کنیم و دومی شیوه و نوع باز کردن فایل میباشد که انواع مدلهای باز کردن فایل در php را در زیر نوشتیم :

 

 

 

1

فایل را بعنوان یک فایل فقط خواندنی یا read only باز میکند .
اشاره گر در ابتدای محتوای فایل قرار میگیرد

2

r+

باز کردن فایل با منظور خواندن و همچنین نوشتن اطلاعات روی آن .
اشاره گر در ابتدای محتوای فایل قرار میگیرد .

3

باز کردن فایل با منظور فقط نوشتن اطلاعات روی آن .
اشاره گر در ابتدای فایل قرار میگیرد  وطول فایل به صفر کاهش پیدا میکند  .
اگر فایل به کل وجود نداشته باشد ساخته میشود .

4

w+

باز کردن فایل با منظور نوشتن اطلاعات و همچنین خواندن.
اشاره گر در ابتدای فایل قرار میگیرد  وطول فایل به صفر کاهش پیدا میکند  .
اگر فایل به کل وجود نداشته باشد ساخته میشود .

5

a

فایل را با منظور فقط نوشتن اطلاعات روی آن باز میکند .
اشاره گر در ابتدا قرار میگیرد
اگر فایل وجود نداشته باشد ساخته میشود

6

a+

فایل را با منظور فقط نوشتن اطلاعات و خواندن انها صورت میگیرد.
اشاره گر در ابتدا قرار میگیرد
اگر فایل وجود نداشته باشد ساخته میشود

اگر باز کردن یک فایل توسط تابع fopen  به هر دلیلی امکان پذیر نباشد این تابع مقدار false برمیگرداند و اگر با موفقیت فایل باز شود file pointer برگردانده میشود که برای نوشتن و خواندن اطلاعات به درد میخورد .

بعد از اینکه کارمان با فایل تمام شد ، یک مورد مهم وجود دارد و آن بستن آن فایل با تابع fclose میباشد .

تابع fclose یک file pointer را بعنوان آرگومان درخواست میکند و زمانی که فایل با موفقیت بسته شد ،true برمیگرداند  و اگر با خطا مواجه شد false برمیگرداند .

آموزش ساخت فریمورک php mvc

خواندن محتویات یک فایل در php 

در زبان برنامه نویسی پی اچ پی ، زمانی که یک فایل با استفاده از تابع fopen باز شد ، وقت آن رسیده است که محتویات درونی آن با تابع fread خوانده شود.

این تابع دو آرگومان ورودی دارد که یکی اشاره به فایل مورد نظر میباشد و دیگری سایز آن میباشد که به بایت باید تعریف شود .

طول یا سایز فایل میتواند توسط تابع filesize بصورت کامل به دست بیاید .

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

بصورت جمع بندی کارهایی که برای خواندن محتوای یک فایل باید انجام پذیرد  :

  • فایل توسط تابع fopen باز شود .
  • سایز فایل توسط تابع filesize محاسبه شود .
  • محتوای فایل توسط تابع fread خوانده شود .
  • فایل توسط تابع fclose بسته شود .

برای جمع بندی بالا مثال زیر را میتوانید استفاده کنید تا مبحث را کامل تر یاد بگیرید

<?php
class Car
{
    function Car()
    {
        $this->model = "VW";
    }
}

// create an object
$herbie = new Car();

// show object properties
echo $herbie->model;
?>

خروجی کدهای بالا باید به شکل زیر باشد :

خواندن محتویات فایل توسط php

نوشتن اطلاعات بر روی یک فایل در php

در زبان php اگر بخواهیم به یک فایل جدید یا یک فایل که محتوا داشته باشد ، اطلاعات بنویسیم از تابع fwrite استفاده میکنیم.

این تابع دو آرگومان بعنوان ورودی دارد که یکی اشاره به فایل مورد نظر است و دومی رشته ای که میخواهیم به فایل اضافه شود .

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

مثال زیر یک فایل جدید درست میکند و یک متن ساده در آن مینویسد برای بررسی اینکه فایلی وجود دارد یا نه میتوانید از تابع file_exist استفاده کنید .

<?php
$filename = "/home/user/guest/newfile.txt";
$file = fopen($filename, "w");

if ($file == false) {
    echo "Error in opening new file";
    exit();
}
fwrite($file, "This is  a simple test\n");
fclose($file);
?>
<html>
   
   <head>
      <title>Writing a file using PHP</title>
   </head>
   
   <body>
      
      <?php
      $filename = "newfile.txt";
      $file = fopen($filename, "r");

      if ($file == false) {
          echo "Error in opening file";
          exit();
      }

      $filesize = filesize($filename);
      $filetext = fread($file, $filesize);

      fclose($file);

      echo "File size : $filesize bytes";
      echo "$filetext";
      echo "file name: $filename";
      ?>
      
   </body>
</html>

 

خروجی مثال بالا به شکل تصویر زیر خواهد بود  :

نوشتن اطلاعات روی فایل در php

 

بدون دیدگاه

دیدگاهتان را بنویسید

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