微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 将数据库转换为CSV并将文件保存到服务器上的文件夹

我已成功将我的数据库导出为csv作为可下载文件.然而,我现在需要做的是不是创建一个直接的.csv文件,我需要它只需保存到服务器上名为“csv”的文件夹.这是我当前导出的代码.我需要帮助保存到服务器部分.文件夹(csv)上的CHMOD是777
$today = date('Y-m-d'); 

    $select = "SELECT * FROM goldpacks WHERE date = '$today'";

    $export = MysqL_query ( $select ) or die ( "sql error : " . MysqL_error( ) );

    $fields = MysqL_num_fields ( $export );

    for ( $i = 0; $i < $fields; $i++ )
    {
        $header .= MysqL_field_name( $export,$i ) . "\t";
    }

    while( $row = MysqL_fetch_row( $export ) )
    {
        $line = '';
        foreach( $row as $value )
        {                                            
            if ( ( !isset( $value ) ) || ( $value == "" ) )
           {
                $value = "\t";
            }
            else
            {
                $value = str_replace( '"','""',$value );
                $value = '"' . $value . '"' . "\t";
            }
            $line .= $value;
        }
        $data .= trim( $line ) . "\n";
    }
    $data = str_replace( "\r","",$data );

    if ( $data == "" )
    {
        $data = "\n(0) Records Found!\n";                        
    }

    header("Content-type: application/octet-stream");
    header("Content-disposition: attachment; filename=import.csv");
    print "$header\n$data";
您需要添加的是对file_put_contents()的调用.您已经在$data中正确格式化了csv,因此写入过程很简单:
// $filename is whatever you need the file to be called
file_put_contents("/path/to/csv/" . $filename,"$header\n$data");

它不是对csv文件夹的777权限,而应由用户拥有,Web服务器与700一样运行,或者由Web服务器用户作为770进行组拥有.

原文地址:https://www.jb51.cc/php/240259.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐