PHP4+ApacheでWebアプリケーション(問い合わせフォーム)を開発しています。
普段はApache+PHPを導入したWindowsマシンでコーディングしていて、CSVファイルも開きます。
しかし、開発サーバ(Linuxマシン、ApacheとPHPのバージョンは同じ)へアップロードすると
Windowsマシンで読み込みができていたCSVファイルが読み込みができなくなります。
CSVファイルの文字コードShift-JISで各項目は""でくくってあります。1行あたり10項目で20行固定です。
CSVファイル読み込みする理由は定義ファイルとして読み込んむためで、各行には宛先や問い合わせ内容・タイトル等を設定し、定義ファイルの番号(3桁の数字)によって問い合わせフォームを切り替えています。
ちなみにPHPの文字コードはUTF-8です。
例)
"f01","パソコンセミナー申込","","","","","","","",""
"f02","インターネットに触れてみよう。","","","","","","","",""
"f03","申込期限2009年1月末,"","","","","","","",""
"f04","hoge@aaa.jp","hage@bbb.jp","debu@ccc.jp","","","","","",""
"f05","support@ddd.jp","","","","","","","",""
:
:
"f20","○○○","20","△△△","","","","","",""
1行目は問い合わせフォーム名、2行目と3行目はフォーム内容のコメント、4行目は担当者宛のメールアドレス、5行目は自動応答用のメールアドレス、6行目以降は問い合わせフォームの任意設定項目(f20の場合、○○○:好きな食べ物は?、20:文字数20文字、△△△:3つ以内で記入してください)を表します。
問い合わせフォーム本体PHPと入力チェック等を行う外部ライブラリPHPを用いています。現状は、本体PHPでCSVをfopenで開いて、CSV読み込みにはfgetcsv()を使用しています。指定行以内でループさせ、該当の行の該当項目を指定しています。
CSVファイルはテンプレートのCSVファイルをコピー関数で複製・リネームしていますが
テンプレートファイル内の各項目(各行先頭項目)はしっかりコピーされています。
Windows環境下では
mb_convert_encodingを使用して、読み込み・書き込み(Shift-JIS⇔UTF-8変換)ともに動いています。
しかし、Linux環境下では、まったく読み込みすらできません。
Linuxで読み込みができないのがどうしてもわかりません。
よろしくお願いします。