这里,我想从mysql中提取记录到我正在写入文本文件的文本文件中
但文本文件创建为空白
问题出在哪里?
我的代码:
$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);
readfile()调用丢失:
readfile($myFile);
所以它应该是这样的:
header('Content-type: text/plain');
header('Content-disposition: attachment; filename='.$myFile);
readfile($myFile);
这里的readfile()函数实际执行所有的艰苦工作(读取文件,写入输出)。
更多主题:
读取文件()
强制下载
更新
此外,您还有文件路径问题
请注意,您在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);
执行查询的方式似乎有问题,但请尝试下面的代码,它可以正常工作。
$link = mysqli_connect("localhost", "username", "password", "database name") or die("error unable to connect to database". mysqli_error($link));
$myFile = 'abctest.txt';
//echo $myFile;exit;
$fo = fopen('com_order/order_textfile/'.$myFile, 'w+') or die("can't open file");
$data_query=$link->query("SELECT order_id from tbl_order") or die(mysql_error());
while($data=mysqli_fetch_array($data_query))
{
$stringData = fwrite($fo, "Order: ".$data['order_id']."'n");
//echo("$stringData");
}
fwrite($fo, $stringData);
fclose($fo);
header('Content-type: text/plain');
header('Content-disposition: attachment; filename='.$myFile);