$fp = fopen('csv文件名', 'w');
$rs = mysql_query('select * from tbl_name');
while($row = mysql_fetch_assoc($rs) {
  fputcsv($fp, $row);
}
fclose($fp);

解决方案 »

  1.   

    你用 php 代码写,慢是正常的
    如果你有权限访问数据库目录,也可以建一个 ENGINE=CSV 的表,复制数据进去
      

  2.   


    <form enctype="multipart/form-data" action="import.php" method="POST">
        导入模板  
        <label for="文件选择">文件选择:</label><input name="csv_goods" type="file" />
        <input type="submit" value="导入" name="import" />
    </form>
    <?php
    if (isset($_POST['import'])){
        
        $file = $_FILES['csv_goods'];
        
        $file_type = substr(strstr($file['name'],'.'),1);
        
        // 检查文件格式
        if ($file_type != 'csv'){
            echo '文件格式不对,请重新上传!';
            exit;
        }
        $handle = fopen($file['tmp_name'],"r");
        $file_encoding = mb_detect_encoding($handle);
        
        // 检查文件编码
        if ($file_encoding != 'ASCII'){
            echo '文件编码错误,请重新上传!';
            exit;
        }
        
        $row = 0;
        while ($data = fgetcsv($handle,1000,',')){
            //echo "<font color=red>$row</font>";  //可以知道总共有多少行
            $row++;
            if ($row == 1)
            continue;
            $num = count($data);
            // 这里会依次输出每行当中每个单元格的数据
            for ($i=0; $i<$num; $i++){
                echo $data[$i]."<br>";
                // 在这里对数据进行处理
            }
        }
        
        fclose($handle);
    }?>