انتقل إلى محتوى الدرس

Copying and Moving with copy and rename نسخ ونقل وإعادة تسمية الملفات بـ copy و rename

افحص مساحة القرص وأحجام الملفات وتواريخ تعديلها، وأدر الصلاحيات بـ chmod وfileperms، وانسخ وانقل واحذف الملفات بأمان في PHP 8.
1 صفوف تعليمية
PHP
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

استخدم الدالة copy() لإنشاء نسخة مطابقة من الملف في مسار احتياطي، وrename() لنقل الملف أو استبداله ذرياً.

  • تنسخ الدالة copy($source, $dest) محتوى الملف بالكامل وتستبدل الملف الهدف $dest إذا كان موجوداً مسبقاً.
  • تُعيد الدالة rename($oldPath, $newPath) تسمية الملف أو تنقله بين المجلدات على نفس نظام الملفات كعملية ذرية (Atomic).
  • الكتابة في ملف مؤقت أولاً ثم استدعاء rename($tmpFile, $liveFile) تضمن عدم قراءة أي مستخدم لملف غير مكتمل الكتابة.

تنسخ copy() المسودة إلى $bak، وتنقل rename() الملف الأصلي إلى $live بحيث يختفي مسار المسودة القديم.

مخطط تدفق التنفيذ العملي لقسم نسخ ونقل وإعادة تسمية الملفات بـ copy و rename في لغة PHP
PHP
<?php
$dir = sys_get_temp_dir();
$src = "$dir/ct_draft.txt";
$bak = "$dir/ct_backup.txt";
$live = "$dir/ct_live.txt";
file_put_contents($src, "v2.0");
copy($src, $bak);
rename($src, $live);
echo "Live: " . file_get_contents($live) . " | Draft exists: " . (file_exists($src) ? 'yes' : 'no') . "\n";
unlink($bak);
unlink($live);