自分で解決したことの忘れないうちのメモ。
Cake PHPのビューで$html->file()のヘルパーを使って、Wavファイルを指定してそのファイルをアップロードしたとき、アクション側でファイル名が$this->dataで渡らないことではまりました。
フォームをシンプルにしてもダメ。WindowsのXAMPPではOKだか、LinuxのApache+PHPだとダメ。WavファイルではないJpegファイルだとOK。ファイル名に空白が入っているのではないかとか、いろいろ試しましたがわからず。半日つぶしました。
結果は、単純。CakePHPには関係ない原因でした。原因はアップロードサイズが大きいこと。ファイルサイズが大きいWavファイルなら当たり前のこと。今までは、ファイルサイズが大きいとエラーを表示したと思っていましたので見逃していました。
php.iniに
upload_max_filesize = 100M
post_max_size = 100M
のように大きい値(後で調整しましょう)を設定して、Apacheを再起動したらうまくアップロードできるようになりました。
基本に戻ることが大切。考えていることが間違った方向ではまる典型的なミスでした。