PHP – də kömək

Salam , Məndə hər istifadecinin id nömrəsi ile sciriptde  papkalar yaranır.Həmin papkalari ftp-den yox php köməkliyi ile silmək isteyirəm. Bunun üçün munasib kodlar yaza bilərsiz?

Verilmiş cavablar və yazılan şərhlər (15 cavab var)

PHP255 (2013-06-05 14:10:13)
VendeTTA , Siz yazdiqiniz vasite ile her istifadeci oz qovluqunu silir. Men ise admin panelden butun qovluqlari silmek istediyimi bildirmisem. [code] function KlasorSil($dir) { if (substr($dir, strlen($dir)-1, 1)!= '/') $dir .= '/'; //echo $dir; //silinen klasörün adı if ($handle = opendir($dir)) { while ($obj = readdir($handle)) { if ($obj!= '.' && $obj!= '..') { if (is_dir($dir.$obj)) { if (!KlasorSil($dir.$obj)) return false; } elseif (is_file($dir.$obj)) { if (!unlink($dir.$obj)) return false; } } } closedir($handle); if (!@rmdir($dir)) return false; return true; } return false; }[/code] Bu versiya ishledi. Hemcinin papkalari cmod 777 , olmaq sherti ile Movzuda butun fikir yazanlara tesekkur.

VendeTTA (2013-06-05 11:58:46)
Sualı əvvəldə düzgün formalaşdırmaq lazımdır ki, cavab yazmaq istəyənlər telepatik bacarıqlarına müraciət etmək məcburiyyətində qalmasınlar. Nümunə: [code] $dir = 'qovluqlar/' . $id; mysql_query("DELETE FROM `downloads` WHERE `id` = '" . $id . "';"); rrmdir($dir); [/code] Burada rrmdir Yuxarıda qeyd edilmiş funksiyadır

PHP255 (2013-06-04 20:01:42)
Qurulan funksiya mysql ile elaqedardir , ona gore hem dat fayllar hemde mysgl eyni vaxtda silinmelidir . FTP-den silsem ikisini eyni vaxtda sile bilmerem. Gerek istifadeci girisini baglayim sonra silim . Hemin vaxt istifadeci olsa niklerinde problem yaranacaq.Buna gorede 1klik ile hem mysql melumatlarini hemde dat fayllari silmek isteyirem . Dediyiniz kimide yoxladim teessuf netice eynidi. asaqida bele formada yazdim rrmdir('log'); yene alinmadi

E. Hacı (2013-06-04 19:41:18)
Bu bütün log papkanı silmək üçündür. Bir də sizin file manager, ftp kimi accessiniz yoxdur ki serverdən asanlıqla siləsiniz? Log yazanda silmirsə deməli path düzgün deyil tam path ilə yoxlayın məsələn /home/public_html/log

PHP255 (2013-06-04 19:34:23)
E. Hacı , Burada papkanin adi hara yazilir? men yuxarda $dir='log'; bele yazdim duzgundur bele? Birde berke bular yalniz 1 papkani silmek ucundur. mende log papkasinin daxilinde istifadecilerin id nomresi ile yaranmish 1000-e yaxin papka var onlarin icindede o geder dat fayl var.

E. Hacı (2013-06-04 17:43:38)
Bunu da yoxlayın. Papkaların da adının düz yazdığınıza əmin olun. [code] <?php // When the directory is not empty: 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); } } ?> [/code]

PHP255 (2013-06-04 16:51:09)
E. Hacı , Davaminda `silinme icazesi yoxdur` yazilir, Amma php faylini bir papka geriye atanda isleyir. yeni rmdir(“log/test”); bele isleyir rmdir(“test”); bele yox. mene esas icinde dat fayllar olan papkalarin silinmesi lazimdi. texmini 600den cox papka yaranib icinde o gederde dat fayl var,en azi gunde 1 defe silmeliyem ki yaddas dolmasin. amma alinmir.

E. Hacı (2013-06-04 16:14:58)
Elə bu gəlir? Davamı da olmalıdır axır.

PHP255 (2013-06-04 11:52:02)
Yenede silinmir , adice bos papka yaradiram rmdir("test"); bu vasiteyle silmir. Bele bir sehv gelir ekrana Warning: rmdir(test) [function.rmdir]:

VendeTTA (2013-06-04 02:47:06)
self:: <-- bu sətri də sil

E. Hacı (2013-06-04 01:11:16)
Syntax səhvlərin nə olduğuna baxıb sətrin nömrəsinə baxın onları dərhal google-da axtarıb səhvi düzəltmək lazımdır. Aşağıda da Master yazdığı kimi, sizdə class yoxdur deyə kiçik dəyişikik etmək lazımdır.

Master (2013-06-04 00:59:57)
PHP255 , Elvin bey onu o funksiyani CLASS ucun yazib ,yeni sen onu CLASS yaradib onun icine yerlewdirib cagirmalisan . Yox eger CLASS yaratmaq isdemirsense onu istifade etmek ucun PUBLIC STATIC sozlerini sil yeni bele istifade et [code] function deleteDir($dirPath) { if (! is_dir($dirPath)) { throw new InvalidArgumentException("$dirPath must be a directory"); } if (substr($dirPath, strlen($dirPath) - 1, 1) != '/') { $dirPath .= '/'; } $files = glob($dirPath . '*', GLOB_MARK); foreach ($files as $file) { if (is_dir($file)) { self::deleteDir($file); } else { unlink($file); } } rmdir($dirPath); } [/code]

PHP255 (2013-06-04 00:40:57)
Bunu googleden axtarisda tapmisdim. public static function bu setrde sehv gosterir suntax sehv

PHP255 (2013-06-04 00:26:53)
E. Hacı , papkalarin icinde dat fayllar var. bele bir kod yoxladim alinmadi amma, bunuda yoxlayim, indiden twk edirem .

E. Hacı (2013-06-03 23:32:25)
Salam. Papka boşdursa rmdir('papkaya_geden_yol/'.$user_id); yazırsınız silir. Yox əgər fayl varsa içində o halda silməkçün [code] public static function deleteDir($dirPath) { if (! is_dir($dirPath)) { throw new InvalidArgumentException("$dirPath must be a directory"); } if (substr($dirPath, strlen($dirPath) - 1, 1) != '/') { $dirPath .= '/'; } $files = glob($dirPath . '*', GLOB_MARK); foreach ($files as $file) { if (is_dir($file)) { self::deleteDir($file); } else { unlink($file); } } rmdir($dirPath); } [/code] Mənbə

Mövzu üzrə bənzər suallara da baxa bilərsiniz.

Session və Cookie istifadəsi təhlükəszidirmi?

Php error message

PHP’ni qısa zamanda haradan öyrənə bilərəm..

php fopen readfile url xətası

Qeydiyyat səhifəsində Check Login buttonu

php haqqında sual