Linux→WindowsへOpenPNEのサイトを移行させたのですが、画像のアップロードができなくなったのでその対処法のメモ。
#OpenPneバージョン2.8.2のお話。
とりあえず、画像のアップ処理を行っているところで、エラーメッセージをダンプ。
Warning: filesize() [function.filesize]: stat failed for C:/WINDOWS/TEMP(略
ということなので、テンポラリのディレクトリの権限が悪いんだろうなーと、妄想。
php.iniのupload_tmp_dirを弄るなりして、適切な権限のあるディレクトリをアップロード先に指定すればよいのでしょうが、リモートな環境のため弄ることもかなわず。
というわけで、OpenPNE/webapp/lib/db/image.phpのdb_image_insert_c_tmp_imageとdb_image_insert_c_image2の2つの関数内部にあるアップロードファイル読み込み処理を以下のように書き換え。
# $image_data = fread($fp, filesize($filepath));
$image_data = '';
while (!feof($fp)) {
$image_data .= fread($fp, 8192);
}
どーにか動きましたとさ。