PDA

View Full Version : حرفه ای: حذف پوشه های تو در تو (ساب فولدر) با محتویات آنها



ms11309
جمعه 06 تیر 1393, 15:10 عصر
سلام
در سطح نت کلی سرچ کردم و در نهایت تا اینجا رسیدم که پوشه با فایل توش رو حذف کنه!
و حالا فکر کنید چنید پوشه در هم ساخته شده مثل:


folder1/folder2/folder3/folder4


و در این حالت کد دیگه روش کار نمیکنه!!

از دوستان تقاضای ارائه یک راهکار عملی برای حذف فولدر با تمام ساب فولدر ها و فایلهای داخلش رو دارم!
مثلا اگه پوشه folder2 حذف کردیم پوشه های folder3 و folder4 هم به همراه فایلهای داخلش حذف بشه!!!!!!

در تابعی که تهیه کردم و قبل اون رو نوشتم الان $dir بهم آدرس کامل پوشه انتخابی رو به شکل زیر میده





$dir = "../img/".$masir."/".$_POST['dfolder']."/";




لطفا راهنمایی کنید

hamedarian2009
جمعه 06 تیر 1393, 15:24 عصر
سلام از این تابع استفاده کن


function rrmdir($dir) {
if (is_dir($dir)) {
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != "." && $object != "..") {
if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object);
}
}
reset($objects);
rmdir($dir);
}
}

ms11309
جمعه 06 تیر 1393, 15:26 عصر
ممنون از کمکتون

مسیر دهیش به چه شکلیه؟
اسلش در اولو آخر مهمه براش یا نه؟

ms11309
جمعه 06 تیر 1393, 15:35 عصر
کار نکرد!!

ببینید فرض کنید این سایت:
www.domain.ir
اسکریپت php در ساب فولدر نصبه:
www.domain.ir/img
و از همینجا اجرا میشه ولی طوری که موحتویات یه ساب دیگرو نشون میده
www.domain.ir/img/up

و آدرسی که من میگیرم به صورت زیر هست



../img/up/folder1/folder2/.../foldermoredenazar/


چطور باید به این تابع آدرس بدم حالا که کار کنه؟!

ms11309
جمعه 06 تیر 1393, 15:56 عصر
من بد جور کارم گیره اینه دوستان!!!!!!!

engmmrj
جمعه 06 تیر 1393, 16:22 عصر
شما فقط آدرس فولدر رو بهش بدید خودش پاک میکنه

rrmdir('folder')

ms11309
جمعه 06 تیر 1393, 16:58 عصر
شما فقط آدرس فولدر رو بهش بدید خودش پاک میکنه

rrmdir('folder')


اینجوری اشتباهی رخ نمیده؟
مثلا در 2 ساب فولدر متفاوت مجدد 2 پوشه هم نام باشه
هر دو حذف نمیشن؟

engmmrj
جمعه 06 تیر 1393, 17:25 عصر
اینجوری اشتباهی رخ نمیده؟
مثلا در 2 ساب فولدر متفاوت مجدد 2 پوشه هم نام باشه
هر دو حذف نمیشن؟
نیاز به سوال کردن نداره ، خودتون تست کنید !

ms11309
جمعه 06 تیر 1393, 17:57 عصر
نیاز به سوال کردن نداره ، خودتون تست کنید !


من فایل حذفم با تابع post فرستاد میشه به یک فایل php دیگه در پوشه دیگه که قبل از این پوشه ها قرار داره
اسم پوشه رو میدم ولی حذف نمیکنه

دقیقا همین کارو واسه فایلها کردم بدون مشکل حذف میکنه!!
البته با تابع معمولی برای حذف پوشه خالی کار میکنه
ولی وقتی چیزی تو پوشه باشه نه بت کد بالا و نه چندین کد که تست کردم حذف نمیشه

حالا چرا نمیدونم!!

کد دیگه ای نست تست کنم؟