質問するログイン新規登録

回答編集履歴

3

追記

2016/01/07 07:58

投稿

退会済みユーザー
answer CHANGED
@@ -7,6 +7,7 @@
7
7
 
8
8
  ---
9
9
 
10
+ 当方、Windows 環境がないため、以下のコードの結果どうなるかをコメントください。
10
11
 
11
12
  ```php
12
13
  function getSharedFiles($path){

2

修正

2016/01/07 07:58

投稿

退会済みユーザー
answer CHANGED
@@ -7,6 +7,7 @@
7
7
 
8
8
  ---
9
9
 
10
+
10
11
  ```php
11
12
  function getSharedFiles($path){
12
13
  setlocale(LC_ALL, 'ja_JP.UTF-8');
@@ -19,4 +20,5 @@
19
20
  var_dump(mb_convert_encoding($file, 'UTF-8', 'SJIS-win'));
20
21
  }
21
22
  return $info;
22
- }
23
+ }
24
+ ```

1

追記

2016/01/07 07:38

投稿

退会済みユーザー
answer CHANGED
@@ -3,4 +3,20 @@
3
3
  Splを利用する方法や、OSコマンドを利用する方法など様々なケースが想定されます。実際の実装はどうなっているのか、コードを晒してください。
4
4
 
5
5
  `pathinfo()` 、および `basename()` においては PHP7 で日本語ファイル名に関するバグが修正されました。以前のバージョンにおいては正しく動作しません。
6
- 「正しく動作しない」ことを前提に設計するしかありません。「列挙」したのちにその値がどう利用されるのかわかりませんので、要件に合わせて設計を見直すのが吉かと思います。
6
+ 「正しく動作しない」ことを前提に設計するしかありません。「列挙」したのちにその値がどう利用されるのかわかりませんので、要件に合わせて設計を見直すのが吉かと思います。
7
+
8
+ ---
9
+
10
+ ```php
11
+ function getSharedFiles($path){
12
+ setlocale(LC_ALL, 'ja_JP.UTF-8');
13
+ $search = str_replace(DS, '/', rtrim($path, DS) . DS . '*'); //DSはDIRECTORY_SEPARATOR
14
+ $files = glob($search);
15
+ $info = array ();
16
+ foreach($files as $file) {
17
+ //まずはこれで確認しては?
18
+ var_dump($file);
19
+ var_dump(mb_convert_encoding($file, 'UTF-8', 'SJIS-win'));
20
+ }
21
+ return $info;
22
+ }