【问题标题】:dwonload attached .text file from database with php not working从数据库下载附加的.text文件,php不起作用
【发布时间】:2013-10-07 07:11:46
【问题描述】:

我使用以下代码时遇到问题,我不知道我做错了什么。我想从 MySQL 数据库下载文件名的链接

<tr>                        
<td>Employee Name</td>
<td>Project Name</td>
<td>Module Name</td>
<td>Task Name</td>
<td>File Attached</td>
</tr>

<?php
header("Content-type: plain text");
header("Content-Disposition: attachment; filename=file_attachment");
foreach($tel as $data){    
echo "<tr><td>"."<a href>".$data[file_attachment]."</td></tr>";
} ?>

当我加载此页面时,输出类似于下载页面的 HTML 文档..... 请任何人向我建议,如何从数据库中获取存储的文本文件的下载链接。

【问题讨论】:

  • 在根目录创建一个文本文件并更新数据库中的链接。除非必要,否则不要将文件存储在数据库中
  • 如何更新数据库中的链接以及如何下载文件。你能给我一些样品吗...

标签: php database download blob


【解决方案1】:

首先:您必须在有任何输出之前添加标题,因此在您发送任何 HTML 之前。 第二:你使用 HTML 是有目的的吗?我只是问,因为你想生成一个文本文件,我猜是一个 CSV,所以我的回答会假设这一点。 所以,我会做的是这样的:

<?php
    $output = 'Employee Name;Project Name;Module Name;Task Name;File Attached'; //The headline of the CSV to explain the entries
    $tel = array();
    foreach($tel as $data){
        $output .= PHP_EOL . ';' . $data["emp_name"] . ';' . $data["proj_name"] . ';' . $data["mod_name"] . ';' . $data["task_name"] . ';' . $data["file_attachment"];
    }

    $type = "text/csv";
    $size = strlen( $output );
    $filename = "table.csv";

    header("Content-type: " . $type);
    header("Content-length: " . $size);
    header("Content-Disposition: attachment; filename=" . $filename);
    header("Content-Description: PHP Generated Data");
    echo $output;
?>

【讨论】:

  • 啊抱歉,误解了这个问题。我会关注@Sundar 的评论。将文件另存为您的网络空间中的文件,并将指向此文件的链接保存在您的数据库中。
  • 我已经将文本文件存储在数据库中。我的问题是如何从 db 下载存储的文件。我不知道我的编码是对还是错...请指导我正确的方式...谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-12
  • 1970-01-01
  • 1970-01-01
  • 2012-11-26
  • 2015-08-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多