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);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64
  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示