当前位置: 代码迷 >> PHP >> php 导出数据,格式替csv
  详细解决方案

php 导出数据,格式替csv

热度:64   发布时间:2016-04-28 19:38:12.0
php 导出数据,格式为csv
php 导出数据,格式为csv 不用phpexcel类,请问还有别的方法吗?自己写个类应该怎样写?多谢!
------解决方案--------------------
$fp = fopen('csv文件名', 'w');
$rs = mysql_query('select * from tbl_name');
while($row = mysql_fetch_assoc($rs) {
  fputcsv($fp, $row);
}
fclose($fp);

------解决方案--------------------

<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);
}

?> 
  相关解决方案