ورود / ثبت نام سبد خرید 0
در این درس به عملیات زیر که مبحث کار با فایل ها در php سر و کار دارد میپردازیم :
در زبان برنامه نویسی php تابع fopen برای باز کردن یک فایل میباشد . این تابع دو ورودی میپذیرد که اولی نام فایلی است که میخواهیم باز کنیم و دومی شیوه و نوع باز کردن فایل میباشد که انواع مدلهای باز کردن فایل در php را در زیر نوشتیم :
اگر باز کردن یک فایل توسط تابع fopen به هر دلیلی امکان پذیر نباشد این تابع مقدار false برمیگرداند و اگر با موفقیت فایل باز شود file pointer برگردانده میشود که برای نوشتن و خواندن اطلاعات به درد میخورد .
بعد از اینکه کارمان با فایل تمام شد ، یک مورد مهم وجود دارد و آن بستن آن فایل با تابع fclose میباشد .
تابع fclose یک file pointer را بعنوان آرگومان درخواست میکند و زمانی که فایل با موفقیت بسته شد ،true برمیگرداند و اگر با خطا مواجه شد false برمیگرداند .
در زبان برنامه نویسی پی اچ پی ، زمانی که یک فایل با استفاده از تابع fopen باز شد ، وقت آن رسیده است که محتویات درونی آن با تابع fread خوانده شود.
این تابع دو آرگومان ورودی دارد که یکی اشاره به فایل مورد نظر میباشد و دیگری سایز آن میباشد که به بایت باید تعریف شود .
طول یا سایز فایل میتواند توسط تابع filesize بصورت کامل به دست بیاید .
این تابع یک ورودی دارد و آن هم فایل هست و سایز فایل را به بایت حساب میکند و تحویل میدهد .
بصورت جمع بندی کارهایی که برای خواندن محتوای یک فایل باید انجام پذیرد :
برای جمع بندی بالا مثال زیر را میتوانید استفاده کنید تا مبحث را کامل تر یاد بگیرید
<html> <head> <title>Reading a file using PHP</title> </head> <body> <?php $filename = "tmp.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 ( "<pre>$filetext</pre>" ); ?> </body> </html>
خروجی کدهای بالا باید به شکل زیر باشد :
در زبان 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>
خروجی مثال بالا به شکل تصویر زیر خواهد بود :
اتمام درس
محصولات برگزیده مناسب شما