توابعی که در PHP ، از عمل ذخیره سازی داده در حافظه موقت ( cache ) بهره میگیرند ، عبارتند از :
stat
تابع ()stat اطلاعاتی را درباره ی یک فایل برمی گرداند. این تابع یک آرایه را برمی گرداند که شامل عناصر زیر است
[0] یا [dev] - شماره ی دستگاه
[1] یا [ino] - شماره Inide
[2] یا [mode] - حالت حفاظت Inode
[3] یا [nlink] - تعداد لینک ها
[4] یا [uid] - آی دی کاربری مالک
[5] یا [gid] - آی دی Group مالک
[6] یا [rdev] - نوع دستگاه Inode
[7] یا [size] - اندازه به بایت
[8] یا [atime] - آخرین دسترسی مانند برچسب زبان یونیکس
[9] یا [mtime] - آخرین تغییر -مانند برچسب زبان یونیکس
[10] یا [ctime] - آخرین تغییر inode - مانند برچسب زمان یونیکس
[11] یا [blksize] - در صورت پشتیبانی-Blocksize of filesystem IO
[12] یا [blocks] - تعداد block های اختصاص داده شده
نکات قابل توجه
نکته : خروجی این تابع از یک سرور تا سرور دیگر متفاوت است. آرایه ی مورد نظر ممکن است شامل number index یا name index یا هردو باشد.
نکته : خروجی این تابع در کش ذخیره می شود. برای پاک کردن کش می توانید از تابع ()clearstatcache استفاده کنید.
مثال
$stat = stat('test.txt');
echo 'Acces time: ' .$stat['atime'];
echo '<br />Modification time: ' .$stat['mtime'];
echo '<br />Device number: ' .$stat['dev'];
خروجی کد بالا برابر است با :
Access time: 1141633430
Modification time: 1141298003
Device number: 0
lstat
تابع ()lstat اطلاعاتی را درباره ی یک فایل یا یک لینک سمبلیک برمی گرداند. این تابع یک آرایه را با عناصر زیر برمی گرداند:
[0] یا [dev] - شماره ی دستگاه
[1] یا [ino] - شماره Inide
[2] یا [mode] - حالت حفاظت Inode
[3] یا [nlink] - تعداد لینک ها
[4] یا [uid] - آی دی کاربری مالک
[5] یا [gid] - آی دی Group مالک
[6] یا [rdev] - نوع دستگاه Inode
[7] یا [size] - اندازه به بایت
[8] یا [atime] - آخرین دسترسی مانند برچسب زبان یونیکس
[9] یا [mtime] - آخرین تغییر -مانند برچسب زبان یونیکس
[10] یا [ctime] - آخرین تغییر inode - مانند برچسب زمان یونیکس
[11] یا [blksize] - در صورت پشتیبانی-Blocksize of filesystem IO
[12] یا [blocks] - تعداد block های اختصاص داده شده
نکات قابل توجه
نکته : نتایج به دست آمده از این تابع، از یک سرور تا سرور دیگر متفاوت است. آرایه ی مورد نظر ممکن است شامل number index یا name index و یا هردو باشد.
نکته : نتیجه ی این تابع در کش ذخیره می شود. برای پاک کردن کش از تابع ()clearstatcache استفاده کنید.
نکته : این تابع شبیه تابع ()stat می باشد با این تفاوت که اگر پارامتر file یک لینک سمبلیک باشد، وضعیت symlink برگردانده خواهد شد . not the status of the file pointed to by the symlink
مثال
print_r(lstat("test.txt"));
خروجی کد بالا برابر است با
Array
(
[0] => 0
[1] => 0
[2] => 33206
[3] => 1
[4] => 0
[5] => 0
[6] => 0
[7] => 92
[8] => 1141633430
[9] => 1141298003
[10] => 1138609592
[11] => -1
[12] => -1
[dev] => 0
[ino] => 0
[mode] => 33206
[nlink] => 1
[uid] => 0
[gid] => 0
[rdev] => 0
[size] => 92
[atime] => 1141633430
[mtime] => 1141298003
[ctime] => 1138609592
[blksize] => -1
[blocks] => -1
)
file_exists
تابع file_exists بررسی می کند که آیا یک فایل یا یک دایرکتوری، موجود است یا نه.
در صورتی که فایل یا دایرکتوری مورد نظر وجود داشته باشد این تابع TRUE را برمی گرداند در غیر این صورت FALSE برگردانده خواهد شد.
is_writable
تابع is_writable بررسی می کند که آیا فایل مورد نظر قابل نوشتن است یا نه.
در صورتی که فایل مورد نظر قابل نوشتن باشد، این تابع TRUE را برمی گرداند.
is_readable
تابع is_readable بررسی می کند که آیا فایل مشخص شده قابل خواندن است یا نه.
در صورتی که فایل مورد نظر قابل خواندن باشد، این تابع TRUE را برمی گرداند.
is_executable
تابع is_readable بررسی می کند که آیا فایل مشخص شده قابل خواندن است یا نه.
در صورتی که فایل مورد نظر قابل خواندن باشد، این تابع TRUE را برمی گرداند.
is_file
تابع is_file بررسی می کند که آیا یک فایل مشخص، یک فایل حقیقی است یا نه.
در صورتی که فایل مورد نظر یک فایل حقیقی باشد، true برگردانده خواهد شد.
is_dir
تابع is_dir بررسی می کند که آیا فایل مشخص شده یک دایرکتوری است یا نه.
در صورتی که دایرکتوری مورد نظر وجود داشته باشد TRUE را برمی گرداند.
is_link
تابع is_link بررسی می کند که آیا فایل مشخص شده یک لینک است یا نه.
در صورتی که فایل مورد نظر یک لینک باشد، این تابع TRUE را برمی گرداند.
filectime
تابع filectime آخرین زمانی که یک فایل مشخص مورد تغییر واقع شده است را برمی گرداند. این تابع تغییرات inore را به خوبی مانند تغییرات منظم بررسی می کند. تغییرات Inore به هنگام premission ها و owner و group و دیگر متادیتاها تغییر می کند.
این تابع در صورت موفقیت، آخرین زمان تغییر را بعنوان یک برچسب زمان یونیکس برمی گرداند. و در غیر این صورت FALSE برگردانده خواهد شد.
نکات قابل توجه
نکته : نتیجه ی این تابع در کش ذخیره می شود. برای پاک کردن کش از تابع clearstatcache استفاده کنید.
نکته : برای برگرداندن آخرین زمانی که محتوای یک فایل تغییر کرده است، از تابع filemtime() استفاده کنید.
fileatime
تابع fileatime() زمان آخرین دسترسی به یک فایل مشخص را برمی گرداند. این تابع در صورت موفقیت، زمان آخرین دسترسی را مثل یک برچسب زمانی یونیکس برمی گرداند. و در صورت شکست FALSE را برمی گرداند.
نکات قابل توجه
نکته: نتیجه ی این تابع در کش ذخیره می شود. برای پاک کردن کش(cache) ازclearstatcache استفاده کنید.
نکته: بعضی سیستم های یونیکس زمان دسترسی آپدیت را غیر فعا کرده اند، زیرا این تابع برای اپلیکیشن هایی که به طور مستقیم به تعداد زیادی از فایل ها دسترسی دارند عملکرد(performance) را کاهش می دهند.
filemtime
تابع filemtime آخرین زمانی که محتوای فایل مورد نظر تغییر کرده است را برمی گرداند. این تابع در صورت موفقیت، آخرین زمان تغییر را بعنوان یک برچسب زمان یونیکس برمی گرداند و در غیر این صورت، FALSE برگردانده خواهد شد.
نکته: نتیجه ی این تابع در کش ذخیره می شود. برای پاک کردن کش می توانید از تابع clearstatcache() استفاده کنید.
fileinode
تابع fileinode مقدار inode از یک فایل مورد نظر را برمی گرداند. در صورت موفقیت، این تابع عدد inode را از یک فایل مورد نظر برمی گرداند و در غیر این صورت FALSE برگردانده خواهد شد.
نکات قابل توجه
نکته: نتیجه ی این تابع در کش ذخیره می شود. برای پاک کردن کش از ()clearstatcache استفاده کنید.
نکته: این تابع نتیجه ی معناداری را در سیستم های ویندوز تولید نمی کند.
filegroup
تابع filegroup از یک فایل مورد نظر، group ID را برمی گرداند. این تابع در صورت موفقیت، group ID را برمی گرداند . در صورت شکست FALSE برگردانده خواهد شد.
نکات قابل توجه
نکته : نتیجه ی این تابع در کش ذخیره می شود. برای پاک کردن کش می توانید از تابع ()clearstatcache استفاده کنید.
نکته : این تابع در سیستم های ویندوز، نتایج معنی داری را تولید نمی کند.
نکته : برای تبدیل group ID به group name از ()posix_getgrid استفاده کنید
fileowner
تابع fileowner درواقع مالک را از یک فایل مشخص برمی گرداند. در صورت موفقیت، این تابع uset ID را برمی گرداند و در صورت شکست، FALSE برگردانده خواهد شد.
نکته : نتیجه ی این تابع در کش ذخیره می شود. برای پاک کردن کش از تابع ()clearstatcache استفاده نمایید.
نکته : این تابع در سیستم های ویندوز، نتیجه ی معنا داری را تولید نمی کند.
نکته : برای تبدیل user ID به user name از ()posix_getpwuid استفاده نمایید.
filesize
تابع ftruncate یک فایل باز شده را به یک طول مشخص کوتاه می کند.
در صورت موفقیت TRUE و در صورت شکست FALSE را برمی گرداند.
filetype
تابع ()filetype نوع فایل را از یک فایل یا دایرکتوری مشخص برمی گرداند. این تابع در صورت موفقیت، یکی از هفت مقدار امکان پذیر را برمی گرداند. و در صورت شکست FALSE برگردانده خواهد شد. مقادیر برگشتی امکان پذیر:
fifo
char
dir
block
link
file
unknown
fileperms
تابع ()fileperms مجوزهای(permissions) یک فایل یا دایرکتوری را برمی گرداند.
این تابع در صورت موفقیت، مجوزها را بعنوان یک عدد، برمی گرداند و در صورت شکست، FALSE را برمی گرداند.
تابع clearstatcache
میزان حافظه موقتی که سیستم به یک فایل اختصاص داده ( حافظه cache ) را آزاد می کند .
PHP برای کارایی بهتر برخی توابع و فایل ها ، اطلاعات لازم و حیاتی آنها را در حافظه موقت سیستم نگهداری یا cache کرده ، تا دسترسی به آنها سریع تر باشد .
برخی اوقات برای خالی کردن حافظه یا از بین بردن یک سری اطلاعات خاص نیاز دارید تا حافظه cache را خالی نموده و این کار توسط تابع ( ) clearstatcache به راحتی انجام پذیر است .
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید