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

من موسوعة حسوب
< PHP
مراجعة 15:03، 24 أبريل 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (إضافة محتويات الصفحة.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

(PHP 4, PHP 5, PHP 7)

تنشئ الدالة tempnam()‎ ملفًا ذو اسم فريد من نوعه.

الوصف

string tempnam ( string $dir , string $prefix )

تنشئ هذه الدالة ملفًا ذو اسم مميَّز في مجلَّد محدَّد، وتكون أذوناته مضبوطة إلى القيمة 0600. إن لم يكن ذاك المجلَّد موجودًا أو كان موجودًا ولكنَّه غير قابل للكتابة، فقد تنشئ الدالة الملف في المجلَّد المؤقَّت الإفتراضي للنظام المستعمل ثمَّ تعيد مساره كاملًا والذي يتضمن اسمه أيضًا.

المعاملات

dir

المجلَّد المراد إنشاء الملف المؤقَّت ضمنه.

prefix

القيمة البادئة لاسم الملف المؤقَّت المراد إنشاؤه.

ملاحظة: يستخدم ويندوز المحارف الثلاثة الأولى بوصفها محارف بادئة (prefix).

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

يُعاد اسم الملف الجديد المؤقَّت (مع المسار)، أو القيمة FALSE عند فشل العمليَّة.

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

الإصدار الوصف
4.0.3 تغيَّر سلوك هذه الدالة منذ الإصدار 4.0.3. أصبحت عمليَّة إنشاء الملف المؤقَّت تتجنب حالة السبق (race condition) التي تحصل وهي ظهور الملف في نظام الملفات في الوقت الذي تتولَّد فيه السلسلة النصيَّة وقبل أن يبدأ السكربت بإنشاء الملف.

انتبه إلى أنَّه يجب عليك حذف الملف إذا لم تعد بحاجته، إذ لا يُحذف الملف تلقائيًّا.

أمثلة

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

<?php
$tmpfname = tempnam("/tmp", "FOO");

$handle = fopen($tmpfname, "w");
fwrite($handle, "writing to tempfile");
fclose($handle);

// افعل شيئًا هنا

unlink($tmpfname);
?>

ملاحظات

إن لم تتمكن PHP من إنشاء الملف في المجلَّد dir المعطى، فهذا يعود إلى الإعدادات الافتراضيَّة للنظام. في نظام الملفات NTFS مثلًا، هذا الأمر يحصل إن احتوى المجلَّد dir على أكثر من 65534 ملف.

انظر أيضًا

  • الدالة tmpfile()‎: تنشئ ملفًا مؤقَّتًا.
  • الدالة sys_get_temp_dir()‎: تعيد مسار المجلَّد المُستخدم لاحتواء الملفات المؤقَّتة.
  • الدالة unlik()‎: تحذف ملفًا.

مصادر