You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

表单提交后先写入SQL再追加写入服务器本地文件的实现方法问询

实现方法

你可以直接在SQL插入成功的逻辑分支中新增本地文件写入逻辑,以下是修改后的完整代码:

extract($_GET);
$valid_input = true;
if($cronsafe != 'mRT0SmaUDzDv2'){
    $valid_input = false;
    echo 'Error';
    die();
}

if(strlen($name) == 0){
    $valid_input = false;
    echo 'not valid';
    die();
}

if(strlen($email) == 0){
    $valid_input = false;
    echo 'not valid';
    die();
}
if(strlen($phone) == 0){
    $valid_input = false;
    echo 'not valid';
    die();
}
if(strlen($company) == 0){
    $valid_input = false;
    echo 'not valid';
    die();
}


if($valid_input):
    $compilerConfig = 'includes/config.php';
    if (file_exists($compilerConfig)) {
        include($compilerConfig);
    }
    
    
    require_once $mageFilename;
    Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
    
    $xml = simplexml_load_file($localFile);
    $conn = mysqli_connect($hostname_conn,$username_conn,$password_conn,$database_conn);
    $idx = md5($email.date("Y-m-d").$current_url);
    
    $insert_sql = $conn->prepare("INSERT IGNORE INTO `cms_page_track` ( `name`, `email`,`company`,`phone`, `idx`,`cms_page`) VALUES (?,?,?,?,?,?)");
    $insert_sql->bind_param("ssssss", $name, $email,$company,$phone,$idx,$current_url);
    
    if(!$insert_sql->execute()) :
        echo '0';
    else:
        // 以下是新增的写入本地文件逻辑
        // 配置写入的文件路径,建议放在非web可访问的目录,避免数据泄露
        $logFile = '/var/www/data_log/'.date('Ymd').'_cms_track.log';
        // 组装要写入的内容,这里用CSV格式方便后续解析,可按需调整
        $logContent = implode(',', [
            date('Y-m-d H:i:s'),
            $name,
            $email,
            $phone,
            $company,
            $current_url,
            $idx
        ]).PHP_EOL;
        // 追加写入文件,FILE_APPEND参数表示追加不覆盖,LOCK_EX避免并发写入冲突
        file_put_contents($logFile, $logContent, FILE_APPEND | LOCK_EX);
        echo '1';
    endif;

endif;

注意事项

  • 需提前创建写入目标目录,并给PHP运行进程授予目录读写权限,目录权限建议设置为755,不要设置777避免安全风险
  • 文件存储路径不要放在网站公开的根目录下,防止外部用户直接下载泄露用户隐私数据
  • 如果写入数据量较大,也可以选择生成CSV、JSON等结构化格式文件,方便后续批量处理

内容的提问来源于stack exchange,提问作者acctman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 10:54:04