[PHP-users 12551] samba への書込みについて

w-f@lily.freemail.ne.jp php-users@php.gr.jp
Tue, 14 Jan 2003 18:49:34 +0900


おせわになります。

php スクリプト上で samba に日本語のファイルもしくはディレクトリを
作成する場合、私は以下のようにしています。

<?
$hoge="ほげ1";
$temp=mb_convert_encoding($hoge, "SJIS");	//samba はSJISにしています。
$temp=urlencode($temp);
$temp=strtolower($temp);
$temp=str_replace("%",":",$temp);
mkdir($temp,0777);
?>

ですが実際は、windows のエクスプローラからから samba をみると
「ほげ1」ではなく
「ほげQ」と表示されます。

これは文字コードが微妙に違うからみたいです。
「1」-> :82P
「Q」-> :82p

urlencode するとどうしても大文字になってしまうので、strtolower している
のですが、それが原因なのです。
strtolower しなければ全ての文字が大文字になってしまい、ディレクトリは
作成されるのですが、windows から見た時に、まともに表示できません。

urlencode で、大文字小文字をそのままにエンコードできるのでしょうか?

また、そもそも php で samba にファイル等を作成する場合、間違っている
というご指摘でもかまいません。
なにかご存知でしたらご教授ください。



よろしくおねがいします。
-- 
w-f <w-f@lily.freemail.ne.jp>