Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何写入文件并允许用户在PHP中下载文件?_Php_Mysql - Fatal编程技术网

如何写入文件并允许用户在PHP中下载文件?

如何写入文件并允许用户在PHP中下载文件?,php,mysql,Php,Mysql,我对PHP有点陌生。如何将mysql查询产生的数据写入临时文件并允许用户下载 您最好直接将其流式传输到客户端,而不是将其保存到临时文件中,并根据您的具体操作为用户提供链接 比如: <?php header('content-type: text/plain'); file_get_contents('/your/temporary/file'); ?> 显然,假设您的输出是纯文本。我认为您需要花一些时间阅读一些基本的PHP教程来开始学习。PHP有很多与文件相关的函数,您可以使用它们

我对PHP有点陌生。如何将mysql查询产生的数据写入临时文件并允许用户下载

您最好直接将其流式传输到客户端,而不是将其保存到临时文件中,并根据您的具体操作为用户提供链接

比如:

<?php
header('content-type: text/plain');
file_get_contents('/your/temporary/file');
?>

显然,假设您的输出是纯文本。

我认为您需要花一些时间阅读一些基本的PHP教程来开始学习。PHP有很多与文件相关的函数,您可以使用它们来实现您想要做的事情——我不推荐任何一种方法。这完全取决于项目的特定环境和需求。
W3学校可能是一个很好的起点或php手册。看看fopen、fwrite、fread、file\u put\u contents和file\u get\u contents等方法

你可能不应该。在大多数情况下,您只需在HTTP响应中返回数据,而不必写入文件系统,只需将数据回显到屏幕上即可。如果您想有一个“另存为”对话框,请搜索内容处置附件php-加载有关此内容的信息。@Quentin我如何才能做到这一点?
<?php
$filename = 'temporary.file';
$file = '/path/to/temporary.file';
header("Content-Description: File Transfer");
header('Content-Type: application/octet-stream');
header("Content-Disposition: attachment; filename=$filename");
readfile($file);