doushu9253 2015-07-10 20:48
浏览 284
已采纳

将csv保存到服务器而不是下载

I have a php page that takes my query results and saves them to a csv, which then prompts to download the csv file (all which is working fine). What I need is for the file to save in the same location on the server but I cannot seem to get it to work. Any idea how to save to the server rather than download?

<?php

// Database Connection

include "connection.php"; //Connect to Database

// Fetch Record from Database

$output = "";
$sql = mysql_query("select '$select' from'$from' where'$where'"
$columns_total = mysql_num_fields($sql);

// Get The Field Name

for ($i = 0; $i < $columns_total; $i++) {
$heading = mysql_field_name($sql, $i);
$output .= '"'.$heading.'",';
}
$output .="
";

// Get Records from the table

while ($row = mysql_fetch_array($sql)) {
for ($i = 0; $i < $columns_total; $i++) {
$output .='"'.$row["$i"].'",';
}
$output .="
";
}

// Download the file

$filename = "file.csv";
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename='.$filename);
exit;
?>
  • 写回答

1条回答 默认 最新

  • dsbruqxgt820011351 2015-07-10 20:57
    关注

    Just use file_put_contents() function to save your CSV file into your server:

    file_put_contents('yourfile.csv', $output);
    

    So your code would be like:

    <?php
    
    // Database Connection
    
    include "connection.php"; //Connect to Database
    
    // Fetch Record from Database
    
    $output = "";
    $sql = mysql_query("select '$select' from'$from' where'$where'"
    $columns_total = mysql_num_fields($sql);
    
    // Get The Field Name
    
    for ($i = 0; $i < $columns_total; $i++) {
    $heading = mysql_field_name($sql, $i);
    $output .= '"'.$heading.'",';
    }
    $output .="
    ";
    
    // Get Records from the table
    
    while ($row = mysql_fetch_array($sql)) {
    for ($i = 0; $i < $columns_total; $i++) {
    $output .='"'.$row["$i"].'",';
    }
    $output .="
    ";
    }
    
    // Download the file
    
    $filename = "file.csv";
    file_put_contents($filename, $output);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
  • ¥15 不小心不正规的开发公司导致不给我们y码,
  • ¥15 我的代码无法在vc++中运行呀,错误很多
  • ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
  • ¥60 fail to initialize keyboard hotkeys through kernel.0000000000
  • ¥30 ppOCRLabel导出识别结果失败
  • ¥15 Centos7 / PETGEM
  • ¥15 csmar数据进行spss描述性统计分析
  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题