كيف يمكنني نسخ مستودع الملفات إلى مجلد جديد مع PHP

StackOverflow https://stackoverflow.com/questions/2427143

  •  19-09-2019
  •  | 
  •  

سؤال

لدي مجلد باسم "مستودع" في مجلدات المشرف. يحمل هذا المجلد 2 ملفات: index.html و content.php. عندما يقوم المستخدم بإنشاء صفحة جديدة، يقوم PHP بإنشاء مجلد جديد يحدده المستخدم، ثم سيحتاج إلى نسخ الملفين في هذا المجلد مع تركها في المستودع.

نسخ (الملف، dest) لا يعمل. إعادة تسمية (ملف، DEST) ينقل الملفات إلى المجلد الجديد، لكنني أفقدها في المستودع.

كيف يمكنني نسخ الملفات في مجلد واحد إلى المجلد الجديد دون فقد الملفات في المجلد الأصلي؟

$dest = '../'.$menuLocation.'/'.$pageName; 
$file1= "repository/index.html"; 
$file2= "repository/content.php"; 
mkdir($dest,0777); 
rename($file1,$dest.'/index.html'); 
rename($file2,$dest.'/content.php');

يتم توفير menulocation $ و PAGENAME $ من قبل المستخدم. الملفات موجودة، يعود file_exts مرة أخرى صحيحا. أيضا، يتم إنشاء الدليل دون أي مشاكل. إعادة تسمية () تعمل أيضا أنني فقدت فقط الملفات في مستودع.

هل كانت مفيدة؟

المحلول

لأي شخص يصطاد الحل لهذا:

عند استخدام نسخ () في PHP، تحتاج أيضا إلى تضمين اسم الملف.

copy(orginalfile,destination_with_filename);

علي سبيل المثال:

خاطئ - ظلم - يظلم:

copy('/temp/sports/basketball.jpg','/images/sports/')

صيح:

copy('/temp/sports/basketball.jpg','/images/sports/basketball.jpg')

نصائح أخرى

استخدام نسخة (). تأكد من التقاط قيمة الإرجاع بحيث يعرف برنامجك ما إذا كان يعمل أم لا. تحقق أيضا إذن من الملفات والدليل لتأكيد أن المستخدم تنفيذ البرنامج النصي PHP قادر على إنشاء الملف الجديد في المكان الذي حددته. قد ترغب في استخدام is_wiments () في الدليل لتأكيد هذه الافتراضات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top