الدالة touch()‎ في PHP

من موسوعة حسوب
< PHP
اذهب إلى التنقل اذهب إلى البحث

(PHP 4, PHP 5, PHP 7)

تضبط الدالة touch()‎ وقت الوصول والتعديل للملف.

الوصف

bool touch ( string $filename [, int $time = time() [, int $atime ]] )

تحاول هذه الدالة ضبط وقت الوصول والتعديل للملف ذو المسار filename إلى القيمة time المعطاة. الجدير بالذكر أنَّ وقت الوصول يُعدَّل دومًا بغض النظر عن عدد المعاملات الممرَّرة إلى الدالة.

إن لم يكن الملف موجودًا، فسيُنشأ آنذاك.

المعاملات

filename

مسار الملف الذي ستُجرى عليه العمليَّة.

time

وقت الوصول والتعديل المراد تغييره للملف filename. إن لم يعطَ هذا المعامل، فستكون قيمته الوقت الحالي للنظام.

atime

إن مُرِّر هذا المعامل، فستُمثِّل قيمته وقت الوصول للملف المعطى. إن لم تعطَ ومرِّر المعامل time، فسيضبط وقت الوصول للقيمة time. إن لم تمرَّر أيضًا قيمة المعاملين السابقين، فستستخدم قيمة الوقت الحالي للنظام.

القيم المعادة

تُعاد القيمة TRUE عند نجاح العمليَّة، أو القيمة FALSE عند فشلها.

سجل التغييرات

الإصدار الوصف
5.3.0 تستطيع هذه الدالة الآن تغيير وقت التعديل للمجلَّد في منصات ويندوز.

أمثلة

المثال 1: استعمال الدالة touch()‎

<?php
if (touch($filename)) {
    echo $filename . ' modification time has been changed to present time';
} else {
    echo 'Sorry, could not change modification time of ' . $filename;
}
?>

المثال 2: استعمال الدالة touch()‎ مع تمرير قيمة المعامل time

<?php
// سنحدِّد وقت التعديل والوصول إلى ساعة مضت من الآن
$time = time() - 3600;

// تغيير وقت التعديل والوصول للملف
if (!touch('some_file.txt', $time)) {
    echo 'Whoops, something went wrong...';
} else {
    echo 'Touched file with success';
}
?>

ملاحظات

الجدير بالملاحظة أنَّ دقَّة الوقت قد تختلف من نظام ملفات إلى آخر.

تحذير: لم يكن ممكنًا قبل الإصدار PHP 5.3.0 تغيير وقت التعديل للمجلَّد باستعمال هذه الدالة في ويندوز.

مصادر