记录不是来自mysql的文本文件

时间:2015-12-07 07:15:33

标签: php mysql file fwrite

在这里,我想从mysql获取记录到我正在写入textfile的文本文件。 但是textfile正在创建为空白。 问题出在哪儿? 我的代码:

$myFile = 'abctest.txt';
//echo $myFile;exit;
$fo = fopen('com_order/order_textfile/'.$myFile, 'w+') or die("can't open file");

$data_query=mysql_query("SELECT order_id from tbl_order") or die(mysql_error());

while($data=mysql_fetch_array($data_query))
{
    $stringData = fwrite($fo, "Order: ".$data['order_id']."\n");
}
fwrite($fo, $stringData);
fclose($fo);

header('Content-type: text/plain');
header('Content-disposition: attachment; filename='.$myFile);

2 个答案:

答案 0 :(得分:2)

readfile()调用缺失:

readfile($myFile);

所以看起来应该是这样的:

header('Content-type: text/plain');
header('Content-disposition: attachment; filename='.$myFile);
readfile($myFile);

这里readfile()是实际执行所有艰苦工作的函数(读取文件,写入输出)。

有关该主题的更多信息:

readfile()

Force download

<强>更新

此外,您还有文件路径问题

请注意,您在com_order/order_textfile/'.$myFile中创建文件,但在没有路径的情况下使用$ myFile。引用文件时,您应该使用路径:

$myFile = 'abctest.txt';
$filePath = 'com_order/order_textfile/'.$myFile;
$fo = fopen($filePath, 'w+') or die("can't open file");

$data_query=mysql_query("SELECT order_id from tbl_order") or die(mysql_error());

while($data=mysql_fetch_array($data_query))
{
    $stringData = fwrite($fo, "Order: ".$data['order_id']."\n");
}
fwrite($fo, $stringData);
fclose($fo);

header('Content-type: text/plain');
header('Content-disposition: attachment; filename='.$filePath);
readfile($filePath);

答案 1 :(得分:0)

您执行查询的方式似乎存在问题但请尝试下面的代码才能正常工作。

<ion-content>
    <ion-scroll zooming="true" direction="xy" style="height:500px">
      <table ng-table="tableParams" style="width:600px">
        <!-- table contents -->
      </table>
    </ion-scroll>
</ion-content>