質問編集履歴

1

ソース修正

2018/04/20 05:23

投稿

cofee
cofee

スコア44

test CHANGED
File without changes
test CHANGED
@@ -2,15 +2,27 @@
2
2
 
3
3
 
4
4
 
5
- 指定したディレクトリ内を調べて、その中に存在するフォルダが空だったらフォルダを削除する処理を行いたいです。
5
+ プログラムから指定したフォルダを削除する処理を行いたいです。
6
-
7
- 以下のように試したのですが、notemptyとエラーが出てしまいます。
8
6
 
9
7
 
10
8
 
11
- 日付毎にフォルダが分かれており、そ日付の中に空のフォルダとファイルがあり、
9
+ フォームで人毎のフォルダをアップロードして
12
10
 
13
- その空のフォルダをプログラ削除したいと考えています。
11
+ そのフォルダの中にあるファイルリネーする処理です。
12
+
13
+
14
+
15
+ 人毎のフォルダの中に1,2,3とファイル名が存在し、
16
+
17
+ そのファイルをリネームして日付毎のフォルダの直下に置き、人毎の中のファイルをunlinkしています。
18
+
19
+ rmdir(str_replace("\", "\\", $filepath1));
20
+
21
+ するときには人毎のフォルダの中身は空のはずなのに人毎のフォルダが削除できません。
22
+
23
+
24
+
25
+ エラー内容は「notempty」と出てしまいます。
14
26
 
15
27
 
16
28
 
@@ -20,76 +32,64 @@
20
32
 
21
33
  ```php
22
34
 
23
- $date = date("Ymd");
24
35
 
25
- $filepath = "//xxx.xxx.x.xx/test/".$date."/";
26
36
 
27
- $this->remove_dir($filepath);
37
+ $filepath1 = '\コンピュータ名\共有フォルダ名\日付フォルダ\人フォルダ';
28
38
 
29
- ```
30
-
31
- ```php
32
-
33
- private function remove_dir($dir_name) {
39
+ $filepath2 = '\コンピュータ名\共有フォルダ名\日付フォルダ';
34
40
 
35
41
 
36
42
 
37
- if (!is_dir($dir_name)) {
43
+ foreach($file as $f){
38
44
 
45
+ $filename = $f->getClientOriginalName();
46
+
47
+
48
+
39
- return false;
49
+ switch($filename){
50
+
51
+ case '1.pdf':
52
+
53
+ $sample1 = "sampl1.pdf";
54
+
55
+ copy($f, $filepath2."\".mb_convert_encoding($sample1,'SJIS-win','UTF-8'));
56
+
57
+ $f->move('./pdf/',mb_convert_encoding($sample1,'SJIS-win','UTF-8'));
58
+
59
+ unlink($filepath1."\".'1.pdf');
60
+
61
+ break;
62
+
63
+ case '2.pdf':
64
+
65
+ $sample2 = "sampl2.pdf";
66
+
67
+ copy($f, $filepath2."\".mb_convert_encoding($sample2,'SJIS-win','UTF-8'));
68
+
69
+ $f->move('./pdf/',mb_convert_encoding($sample2,'SJIS-win','UTF-8'));
70
+
71
+ unlink($filepath1."\".'2.pdf');
72
+
73
+ break;
74
+
75
+ case '3.pdf':
76
+
77
+ $sample3 = "sampl3.pdf";
78
+
79
+ copy($f, $filepath2."\".mb_convert_encoding($sample3,'SJIS-win','UTF-8'));
80
+
81
+ $f->move('./pdf/',mb_convert_encoding($sample3,'SJIS-win','UTF-8'));
82
+
83
+ unlink($filepath1."\".'3.pdf');
84
+
85
+ break;
86
+
87
+ }
40
88
 
41
89
  }
42
90
 
43
91
 
44
92
 
45
- if (!is_dir($dir_name)) {
46
-
47
- return false;
48
-
49
- }
50
-
51
-
52
-
53
- try {
54
-
55
- if ($dh = opendir($dir_name)) {
56
-
57
- while (($file = readdir($dh)) !== false) {
58
-
59
- if ($file == "." || $file == "..") {
60
-
61
- continue;
62
-
63
- }
64
-
65
- if (is_dir($dir_name . "/" . $file)) {
66
-
67
- $this->remove_dir($dir_name . "/" . $file);
68
-
69
- }else {
70
-
71
- unlink($dir_name . "/" . $file);
93
+ rmdir(str_replace("\", "\\", $filepath1));
72
-
73
- }
74
-
75
- }
76
-
77
- }
78
-
79
- rmdir($dir_name);
80
-
81
- } catch (\Exception $ex) {
82
-
83
- \logger($ex);
84
-
85
- $error_massage = mb_convert_encoding('フォルダ削除失敗。対象:', 'CP932', 'UTF-8');
86
-
87
- throw new \Exception($error_massage. $dir_name);
88
-
89
- }
90
-
91
- closedir($dh);
92
-
93
- }
94
94
 
95
95
  ```