2010年7月12日

[PHP-users 35287]Windows7 でファイルが読み出せない

矢嶋と申します。


Winows7 Starter
XAMPP 1.7.3 / PHP5.3.1
で実験した結果です。

scandir() で取り出したファイル名を使っても、

申請.txt 等の 5c を含むファイル名は file_exists() で false となります。

Windows Vista Business SP2
XAMPP 1.6.3a / PHP5.2.3
では正常でした。
他にもバージョンは確認できませんが、 Windows 2000 や XP でも動いていました。
( scandir() を readdir() に代えるなどしています )

★★★ 再現コードは以下の通りです。

htdocs/5C/ に、
index.php
申請.txt
申.txt
請.txt
を置く。

htdocs/5C/index.php は、
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 始め
<?php

echo getcwd() ;

echo "<table border='1' cellspacing='0' cellpadding='3'>\n" ;
$files = scandir('.') ;
foreach( $files as $file ) {
echo " <tr>\n" ;
echo " <td>  ", $file, "  </td>\n" ;
echo " <td>  ", @filesize($file), "  </td>\n" ;
echo " <td>  ", ( file_exists($file) ? 'O' : 'X' ), "  </td>\n" ;
if( ! file_exists($file) ) @touch($file) ;
echo " <td>  ", ( file_exists($file) ? 'O' : 'X' ), "  </td>\n" ;
echo " <td>  ", preg_replace('/../','\0 ',bin2hex($file)), "  </td>\n" ;
echo " <td>  ", htmlspecialchars(realpath($file)), "  </td>\n" ;
echo " </tr>\n" ;
}
echo "</table>\n" ;
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 終わり

その他のファイルは、中身は任意。(目印の為に空でない方が良い)

http://localhost/5C/ でアクセスすると、
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 始め
C:\xampp\htdocs\5C
. 0 O O 2e C:\xampp\htdocs\5C
.. 8192 O O 2e 2e C:\xampp\htdocs
index.php 704 O O 69 6e 64 65 78 2e 70 68 70 C:\xampp\htdocs\5C\index.php
申.txt 558 O O 90 5c 2e 74 78 74 C:\xampp\htdocs\5C\申.txt
申請.txt 558 O O 90 5c 90 bf 2e 74 78 74 C:\xampp\htdocs\5C\申請.txt
請.txt 558 O O 90 bf 2e 74 78 74 C:\xampp\htdocs\5C\請.txt
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 終わり
の様な内容が返される筈ですが、
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 始め
C:\xampp\htdocs\5C
. 0 O O 2e C:\xampp\htdocs\5C
.. 8192 O O 2e 2e C:\xampp\htdocs
index.php 704 O O 69 6e 64 65 78 2e 70 68 70 C:\xampp\htdocs\5C\index.php
申.txt X O 90 5c 2e 74 78 74
申請.txt X O 90 5c 90 bf 2e 74 78 74
請.txt 558 O O 90 bf 2e 74 78 74 C:\xampp\htdocs\5C\請.txt
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 終わり
となってしまいました。


OS の問題の様な気もしますが...
回避策等の情報が見つけられないでいます。

どなたかご存知ありませんか?

_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2010年7月12日 15:55
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/97001
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。