Thumbs.dbのftp_nb_continue()が失敗する

MoreFTPdは自社FTPサーバの最終解 - 南旺理工

 MoreFTPdで立てたWindows XP上のFTPサーバを実に快適に運用している。
 しかしPHPFTPクライアントでファイル「Thumbs.db」をアップロードしたら、パーミッションがないというエラーでftp_nb_continue()が失敗した。
 名称が「Thumbs.db」のファイルはアップロード対象から除外するよう、PHPスクリプトに条件を追加して回避した。


 たぶんWindowsでは、サムネールファイルだと内部的に認識されてるファイルにたまたま「Thumbs.db」という名前がついているという形ではなく、「Thumbs.db」という名前だという理由でサムネールファイルであると識別されるしくみになっていて、そのため「Thumbs.db」という名前のファイルは、その作られ方によらず、生成された瞬間にその特殊な意味や属性を付与されるのだろう。
 その意味や属性が、なかんずくおそらく隠し属性が、パーミッション不許可とFTP的には解釈されて、アペンドが失敗するのだろう。
 ひょっとすると、FTP実装系によってはその解釈が異なるかもしれない。その場合は違った振舞いになるだろう。
 だが、FTPクライアントPHPでなくFileZillaだったらどうかとかまでは試していない。
 FTPサーバがMoreFTPd以外だったらどうなのかも知らない。