很多站长朋友们都不太清楚php生成文件并下载,今天小编就来给大家整理php生成文件并下载,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php生成文件夹并下载给客户端 2、 php中怎么实现文件下载功能? 3、 php执行file_put_contents后生成的文件如何自动下载到本地? 4、 PHP网页上打包文件生成压缩文件zip,并弹出下载 php生成文件夹并下载给客户端<?php
if(!empty($_POST['name'])){
header("Content-type:application/txt");
header("Content-Disposition:attachment;filename='downloaded.txt'");
echo $_POST['name'];exit;
}
?>
<form action="" method="post">
<input type="text" name="name" />
<input type="submit" value="提交" />
</form>
php header()下载:
php中怎么实现文件下载功能?两种方法:
1.直接做个超链接,地址为文件的地址
<a href="文件地址">下载</a>
2.流输出
<?php
$file=fopen('文件地址',"r");
header("Content-Type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length: ".filesize('文件地址'));
header("Content-Disposition: attachment; filename=文件名称");
echo fread($file,filesize('文件地址'));
fclose($file);
?>
推荐第二种
因为第一种方法只能下载浏览器不能解析的文件,比如rar啊,脚本文件之类。如果文件是图片或者txt文档,就会直接在浏览器中打开。
而第二种方法是直接输出的文件流,不存在上述问题。
你可以检查一下你传值过来的路径是否正确,还有,流输出后面不要再进行任何操作了。
拓展资料:
集成开发环境是一种集成了软件开发过程中所需主要工具的集成开发环境,其功能包括但不仅限于代码高亮、代码补全、调试、构建、版本控制等。一些常见的PHP IDEs如下:
Zend Studio:商业版,Zend官方出品,基于eclipse
Eclipse with PDT:免费
Coda:商业版,针对Mac用户
NetBeans:免费,功能强大
PHP Storm:商业版
Aptana Studio:免费
PhpEd:商业版
Komodo IDE/Edit:IDE为商业版,Edit可免费使用
Adobe Dreamweaver:商业版
除去集成开发环境,具备代码高亮功能的常见文本编辑器因其轻巧灵活也常被选作开发工具,例如:Notepad++、Editplus、SublimeText、Everedit(国人开发)等等。
PHP的特性包括:
1. PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。
2. PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比,
PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;
PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。
3. PHP支持几乎所有流行的数据库以及操作系统。
4. 最重要的是PHP可以用C、C++进行程序的扩展!
参考资料:百度百科:PHP
php执行file_put_contents后生成的文件如何自动下载到本地?file_put_contents只能生成文件在服务器上,无法读写客户端的文件系统,这是WEB的协议决定了的。
要想把file_put_contents生成在服务器上的文件发给浏览器用户,只有用下载的办法:文件生成到WEB可以访问的路径,然后使用<a href>建立链接让用户下载,示例代码:
file_put_contents('a.txt', $str);
echo '<a href=a.txt>下载文件</a>';
PHP网页上打包文件生成压缩文件zip,并弹出下载既然你只是想学习如何打包.
那我重点就回答你这一块,正好我刚刚用到;
$filename = "./" . date ( 'YmdH' ) . ".zip"; // 最终生成的文件名(含路径)
// 生成文件
$zip = new ZipArchive (); // 使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释
if ($zip->open ( $filename, ZIPARCHIVE::CREATE ) !== TRUE) {
exit ( '无法打开文件,或者文件创建失败' );
}
//$fileNameArr 就是一个存储文件路径的数组 比如 array('/a/1.jpg,/a/2.jpg....');
foreach ( $fileNameArr as $val ) {
$zip->addFile ( $val, basename ( $val ) ); // 第二个参数是放在压缩包中的文件名称,如果文件可能会有重复,就需要注意一下
}
$zip->close (); // 关闭
//下面是输出下载;
header ( "Cache-Control: max-age=0" );
header ( "Content-Description: File Transfer" );
header ( 'Content-disposition: attachment; filename=' . basename ( $filename ) ); // 文件名
header ( "Content-Type: application/zip" ); // zip格式的
header ( "Content-Transfer-Encoding: binary" ); // 告诉浏览器,这是二进制文件
header ( 'Content-Length: ' . filesize ( $filename ) ); // 告诉浏览器,文件大小
@readfile ( $filename );//输出文件;
关于php生成文件并下载的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php生成文件并下载 php生成word文档的详细内容...