Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 调整CSV文件中的头文件_Php_Csv_Logging_Header - Fatal编程技术网

Php 调整CSV文件中的头文件

Php 调整CSV文件中的头文件,php,csv,logging,header,Php,Csv,Logging,Header,我在我的PHP网站上有一个日志例程,它将数据放在每天的CSV文件中。代码如下: public function generateLogPMWeb($action){ session_start('usuario'); $head_data = "HOSPEDE_CODIGO" . ";" . "RESERVA_CODIGO" . ";" . "HOSPEDE_NOME" . ";" . "HOSPEDE_SOBRENOME" . ";" . "HOSPEDE_EMAIL" .

我在我的PHP网站上有一个日志例程,它将数据放在每天的CSV文件中。代码如下:

public function generateLogPMWeb($action){
    session_start('usuario');

    $head_data = "HOSPEDE_CODIGO" . ";" . "RESERVA_CODIGO" . ";" . "HOSPEDE_NOME" . ";" . "HOSPEDE_SOBRENOME" . ";" . "HOSPEDE_EMAIL" . ";" . "RESERVA_DESCRICAOSISTEMA" . ";" . "RESERVA_CODIGOLOCALIZADOR" . ";" . "RESERVA_CODIGOHOTEL" . ";" . "RESERVA_DATARESERVA" . ";" . "RESERVA_DATACHECKIN" . ";" . "RESERVA_DATACHECKOUT" . ";" . "ACAO" . ";\n";
    file_put_contents(Config::retorna("document_root", "root").'/logPMWeb/logPMWeb_'.date("Ymd").'.csv', $head_data, FILE_APPEND); // MUDAR AQUI

    $logPMWeb  = $_SESSION['usuario']['id'] . ";" . date('YmdHis') . "_" . $_POST['idHotel'] . "_" . $_SESSION['usuario']['id'] . ";" . $_SESSION['usuario']['nome'] . ";" . $_SESSION['usuario']['sobrenome'] . ";" . $_SESSION['usuario']['email'] . ";" . "IC"
            . ";" . date('YmdHis') . "_" . $_POST['idHotel'] . "_" . $_SESSION['usuario']['id'] . ";" . $_POST['idHotel'] . ";" . date('Y-m-d H:i:s') . ";" . $_SESSION['buscaReserva']['dataInicio'] . ";" . $_SESSION['buscaReserva']['dataFim']
            . ";" . preg_replace('/^\s+|\n|\r|\s+$/m', '', $action) . ";\n";
    //Save string to log, use FILE_APPEND to append.
    file_put_contents(Config::retorna("document_root", "root").'/logPMWeb/logPMWeb_'.date("Ymd").'.csv', $logPMWeb, FILE_APPEND);
}
但是,我的CSV文件上重复出现标题行。我只需要在文件的第一行有标题


最好的做法是什么?

使用文件\u如下所示


谢谢,成功了!!!只有第一行我必须改变感叹号的位置。如下所示:如果(!file_存在($logfile)){
public function generateLogPMWeb($action){
    session_start('usuario');

    $logfile = Config::retorna("document_root", "root").'/logPMWeb/logPMWeb_'.date("Ymd").'.csv'

    $head_data = "HOSPEDE_CODIGO" . ";" . "RESERVA_CODIGO" . ";" . "HOSPEDE_NOME" . ";" . "HOSPEDE_SOBRENOME" . ";" . "HOSPEDE_EMAIL" . ";" . "RESERVA_DESCRICAOSISTEMA" . ";" . "RESERVA_CODIGOLOCALIZADOR" . ";" . "RESERVA_CODIGOHOTEL" . ";" . "RESERVA_DATARESERVA" . ";" . "RESERVA_DATACHECKIN" . ";" . "RESERVA_DATACHECKOUT" . ";" . "ACAO" . ";\n";
    if (!file_exists($logfile)) {
       file_put_contents($logfile, $head_data, FILE_APPEND); // MUDAR AQUI
    }

    $logPMWeb  = $_SESSION['usuario']['id'] . ";" . date('YmdHis') . "_" . $_POST['idHotel'] . "_" . $_SESSION['usuario']['id'] . ";" . $_SESSION['usuario']['nome'] . ";" . $_SESSION['usuario']['sobrenome'] . ";" . $_SESSION['usuario']['email'] . ";" . "IC"
            . ";" . date('YmdHis') . "_" . $_POST['idHotel'] . "_" . $_SESSION['usuario']['id'] . ";" . $_POST['idHotel'] . ";" . date('Y-m-d H:i:s') . ";" . $_SESSION['buscaReserva']['dataInicio'] . ";" . $_SESSION['buscaReserva']['dataFim']
            . ";" . preg_replace('/^\s+|\n|\r|\s+$/m', '', $action) . ";\n";
    //Save string to log, use FILE_APPEND to append.
    file_put_contents($logfile, $logPMWeb, FILE_APPEND);
}