0

関数の使用に問題がありfgetcsvます。問題は、正確なコードがローカルでは機能するが、サーバーでは機能しないことです。コードは次のとおりです。

if (($handle = fopen("tmp/".$xlsfile, "r")) !== FALSE) {
    $data = fgetcsv($handle, 1000, ",");
    ...
}

デバッグすると、$handle の print_r は何かを返しますが (リソース #99)、print_r $data は何も返しません。

ローカルでテストするとまったく同じコードと .csv ファイルが機能するため、これは私にとっては少し奇妙です。ファイルがアップロードされ、fopen が正しい値を返すことを確認できるため、アップロード csv 関数が機能します。

私が気付いた唯一の違いは、そのページではライブサーバーが https を使用していることですが、ファイルがアップロードされ、fopen が成功するため、これは問題ではないと思います。

誰にもアイデアがありますか?

更新 [解決済み] : 解決策を見つけました。ライブ サーバーでは、このページは https を使用していますが、csv ファイルを送信するためのフォーム URL の前に https がありませんでした。

4

1 に答える 1

0

次のような意味ですか。

//許可を与えてから行う
$file = fopen("your_file.csv","r");
print_r(fgetcsv($file));
fclose($ファイル);
于 2011-12-21T06:04:57.377 に答える