私は、MySQLからテキストファイルにデータを書き込んで瞬時にダウンロードする単純なスクリプトを持っています。送信ボタンを押して私のデータを並べ替えてファイルに書き込むと、以前のデータが入っているファイルが得られるので、私のフィルタを変更した後に良い情報を得たい場合は、常に2つのサブミットと2つのサブミット私は最後の情報で良いファイルです。どのように私はこの問題を防ぐことができますか?テキストファイルへの書き込みが正しく行われない(CodeIgniter)
public function all()
{
$this->load->helper('file');
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="orders_all.txt"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: '.filesize('./assets/downloads/orders_all.txt'));
$data = array(
'customer_id' => $this->input->post('customer_id', TRUE), // Params from select inputs
'product_id' => $this->input->post('product_id', TRUE),
'state' => $this->input->post('state', TRUE),
'date' => $this->input->post('date', TRUE)
);
$result = $this->orders_model->get_orders_by_filter($data);
$str = '';
foreach ($result as $row)
{
$str .= $row['customer_title'] . ';' . $row['product_title'] . ';' . $row['product_code'] . ';' . $row['quantity'] . ';' . $row['created_at']."\r\n";
}
if (write_file('./assets/downloads/orders_all.txt', $str))
{
readfile('./assets/downloads/orders_all.txt');
}
}
「もし」にヘッダを移動するには、あなたのコードの下にすべての 'header'を入れてみてください。 – weirdo