[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にする様、管理者に相談してみようと
思うのですが・・