• 締切済み

PEAR putRecursive()を使ったアップロードでの転送モードの自動判別のさせ方

PEARのputRecursive()を使って、フォルダをFTPサーバへアップロードするプログラムを組んでいます。 フォルダ(A_folderとします)をアップロードすると、中のファイルがBINARYで転送されてしまい困っています。 (フォルダの中には拡張子の違う複数のファイルがあります。) PEARのマニュアルを読むと、「(転送モードを指定しなかった場合)ファイルの拡張子からモードを決定します。」とあります。 そのため、ファイルごと、putRecursive()が転送モードを自動判別し、アップロードすると考えていました。 が、違うようです。 extensions.iniというファイルも絡んでくるようなのですが、いまいちスキル不足で不明な点が多く、行き詰まっています。 putRecursive()を使って、ファイルごとに正しい転送モードでアップするには、どのようにプログラムを組めばよいのでしょうか。 是非ご教示、ご助言お願いします。 フォルダの構成 A_folder(フォルダ)の配下に、1.cgi、2.css、3.jpgがあります。 実際に書いたソース行 $ftp->putRecursive($local_folder ,$remote_folder , true);

みんなの回答

回答No.1

Net_FTPというのを使ったことがないのですが、extensions.iniが必要なんじゃないでしょうか。 http://tias.ulyssis.org/frontweb_demo/index.php?command=doc-show&pkg=pear.php.net/Net_FTP&file=example%2Fextensions.ini ここら辺を参考にして、ASCIIにしたい拡張子を設定してみるとかはいかがでしょうか?

royalhost
質問者

お礼

mizuno3さんありがとうございます。 putRecursive()で拡張子ごとに転送モードを指定する場合、extensions.iniを利用するようになっているみたいです。 しかし、これをどのフォルダにおいても×でした。 結局、putRecursive()での転送モードの自動判別は、(現時点では)不可能という結論に至りました。 (putRecursive()自体のバグという判断です。)