[PHP-users 7992] Re: メールの添付ファイルが開けない

兼築 史季 php-users@php.gr.jp
Sat, 08 Jun 2002 22:43:28 +0900


兼築です。

受信ファイルのNULLや\にバックスラッシュ
(今、私が作業してる環境がWindowsなので「\」)
が勝手に挿入されるのを防ごうと思って、
$attach   = chunk_split( base64_encode( $buf ) ) ;
を、
$attach   = stripslashes( chunk_split( base64_encode( $buf ) ) ) ;
としてみました。が、受信ファイルにはやっぱりバックスラッシュが
挿入されてしまいました。
・・やっぱりサーバーの設定かsendmailの設定なのでしょうか?



>phpinfo()などで、magic-quotes-runtimeの設定を確認してみて下さい。

今、phpinfo()で調べたところ、

                      サーバーA            サーバーB
OS                  Linux 2.2.14-5.0 #1   Linux 2.4.7-10enterprise #1 SMP 
PHPのバージョン       PHP Version 4.0.6     PHP Version 4.1.2 
magic-quotes-runtime  off                   on

となっていました。
サーバーAが正常に受信ファイルを開けられる方で、
サーバーBが問題のマシンです。

magic-quotes-runtimeは問題のサーバーではonとなっていました。



>説明はこちらです。
>http://jp.php.net/manual/ja/configuration.php#ini.magic-quotes-runtime

ありがとうございます。

magic-quotes-runtimeを調べてみたところ、
  「データベースおよびテクストファイルを含む外部ソースから 
    データを返す全ての関数のクオートは、バックスラッシュで 
    エスケープされます。 」
とありました。

これが原因なのでしょうか?
これが原因で、解決の方法が他にないのでしょうか?

サーバーの管理はしていないので、勝手に設定を変更する訳にはいけませんが、
どうしようもないのなら、この設定をoffにする様、管理者に相談してみようと
思うのですが・・