[ad_1]
こんにちは。CSV に郵便番号が含まれていない場合に壊れる CSV チェックがあります。 私の csv ファイルは非常に大きい (約 12000 行) ため、これは非常に論理的です。 でも他に何をすればいいのか分かりません。
結果をJavaScriptテーブルに表示したいのでCookieを使用しています。
コードは次のように動作するはずです。
$zipcode = “5483 XK”;
$ハウス番号 = 46;
郵便番号 + 家番号の組み合わせがデータベースにある場合は、真の Cookie を送信します
存在しない場合は偽の Cookie を送信します
誰か私を助けてくれませんか
// csv code werkt wel tot ik de set cookie gebruik om $csv_file = "NewPostcodesCheckt.csv"; // Open the file for reading $file_handle = fopen($csv_file, "r"); // Read the contents of the file while (($row_data = fgetcsv($file_handle, 1000, ';')) !== FALSE) { if ($row_data[0] == $Zipcode && $row_data[1] == $Housenumber ) { // User input found in the CSV setcookie('cookie_test', 'true' , time() + 1000); break; }else{ //user not found in csv //doordat de false geen break kan doen word de response headers to big setcookie('cookie_test', 'false', time() + 1000); } } // Close the file handle fclose($file_handle);
私が試したこと:
上の例は私が試したものです。 両方にブレークを与えてみましたが、最初の行のみがチェックされます
これはあなたが受け取るエラーです:
net::ERR_RESPONSE_HEADERS_TOO_BIG
解決策 1
えーっと…各行を見て、Cookie を設定して終了するか (この行でユーザーが見つかった場合)、見つからない場合は Cookie を設定してループの処理を続行します。
したがって、ユーザーが一意であり、CSV データが 1000 行あると仮定すると、1 ~ 1000 個の Cookie を設定します。 Cookie は応答ヘッダーの一部であるため、大量の Cookie がエラーの原因である可能性があります。
私はそれを疑うだろう else
case はループ内に含めるべきではありませんが、ユーザーがデータ内に見つからない場合に 1 回だけ実行されます。
[ad_2]
コメント