php写导入,导出 mysql csv

php 从 csv转换 tsql

function csv2sql($table, $csv_fieldname = 'csv') {

    $handle = fopen($csv_fieldname, 'r');
    if (!$handle)
        die('Cannot open uploaded file.');

    //$fields=var_dump($csvData);
    $row_count = 0;
    $sql_query = "";
    $rows = array ();
    //Read the file as csv
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $row_count++;
        if ($row_count == 1) {
            $sql_query .= "INSERT INTO $table(" . implode(',', $data) . ") VALUES(";
        } else {
            foreach ($data as $key => $value) {
                $data[$key] = "'" . addslashes($value) . "'";
            }
            $rows[] = implode(",", $data);
        }
    }
    $sql_query .= implode("),(", $rows);
    $sql_query .= ")";
    fclose($handle);if (count($rows)) { //If some recores  were found,
        return $sql_query;
    } else {
        return "";
    }
}

导出mysql 到csv文件

include ("conn.php");//connect 语句就不写了 
//
// execute sql query
//
function mysql2csv($tablename, $fname) {
    $query = sprintf("SELECT * FROM $tablename");
    $result = mysql_query($query) or die("no connection");

    header("Content-Type: text/csv;charset=utf-8");
    header("Content-Disposition: attachment;filename=$fname.csv");
    //
    // output header row (if atleast one row exists)
    //
    $row = mysql_fetch_assoc($result);
    if ($row) {
        echocsv(array_keys($row));
    }
    //
    // output data rows (if atleast one row exists)
    //
    while ($row) {
        echocsv($row);
        $row = mysql_fetch_assoc($result);
    }
}
//
// 处理每一行
//
function echocsv($fields) {
    $separator = '';
    foreach ($fields as $field) {
        if (preg_match('/\\r|\\n|,|"/', $field)) {
            $field = '"' . str_replace('"', '""', $field) . '"';
        }
        echo $separator . $field;
        $separator = ',';
    }
    echo "\r\n";
}
原文地址:https://www.cnblogs.com/senion/p/2515244.html