PHP 弹出保存对话框
程序员文章站
2022-06-07 17:29:18
...
问题是这样的:
需要保存查询出来的表格置为Excel,关于写入内容到Excel都已经完成,
主要是:1、点击导出为Excel时,希望弹出一个保存路径的选择框;
2、希望是在PHP来控制弹出,而不是前台;
3、实在是由JS弹出,是不是将文件路径作为参数提交到PHP处理?
由于分数不多,不好意思。
这个完全与我的需求不对,而且,我的需求是:点击【 导出为Excel】 直接弹出路径选择框,
或者是直接下载也行,但是要浏览器端下载
可以具体一点么?因为我是需要后台再去查询数据库,然后据所得的内容填充到EXCEL。
行不通!
所以我的需求是:希望能够有一个路径选择的过程!而不是自定义下载保存路径。
所以我最终做的是通过浏览器下载的形式,不管系统[常规的系统]如何,至少可以有浏览器吧。
这是我最终的方案。
需要保存查询出来的表格置为Excel,关于写入内容到Excel都已经完成,
主要是:1、点击导出为Excel时,希望弹出一个保存路径的选择框;
2、希望是在PHP来控制弹出,而不是前台;
3、实在是由JS弹出,是不是将文件路径作为参数提交到PHP处理?
由于分数不多,不好意思。
回复讨论(解决方案)
http://www.cnblogs.com/zcy_soft/archive/2011/06/09/2076728.html
http://www.cnblogs.com/zcy_soft/archive/2011/06/09/2076728.html
这个完全与我的需求不对,而且,我的需求是:点击【 导出为Excel】 直接弹出路径选择框,
或者是直接下载也行,但是要浏览器端下载
那你直接给个文件链接 试试
header("Content-type:application/vnd.ms-excel");header("Content-Disposition:filename=php2excel.xls");echo iconv("UTF-8", "GBK", "姓名") . "\t" . iconv("UTF-8", "GBK", "性别") . "\n";foreach ($get as $key => $value) {echo iconv("UTF-8", "GBK", $value["username"]) . "\t" . iconv("UTF-8", "GBK", $value["sex"]) . "\n";}
那你直接给个文件链接 试试
可以具体一点么?因为我是需要后台再去查询数据库,然后据所得的内容填充到EXCEL。
header("Content-type:application/vnd.ms-excel");header("Content-Disposition:filename=php2excel.xls");echo iconv("UTF-8", "GBK", "姓名") . "\t" . iconv("UTF-8", "GBK", "性别") . "\n";foreach ($get as $key => $value) {echo iconv("UTF-8", "GBK", $value["username"]) . "\t" . iconv("UTF-8", "GBK", $value["sex"]) . "\n";}
行不通!
我仔细询问了多个PHPer 目前应该是做不到弹出路径选择框,只能退而求其次,显示为下载模样,代码稍后给大家贴出。敬谢!
假设如果你能定义了下载保存路径为E盘而用户只有D盘怎么解?所以只能由用户选择存哪里,不过你可以定义保存的文件名,但是不能定义保存路径! 个人理解而已
假设如果你能定义了下载保存路径为E盘而用户只有D盘怎么解?所以只能由用户选择存哪里,不过你可以定义保存的文件名,但是不能定义保存路径! 个人理解而已
赞同,要是这样你就还要考虑如果用户不是用windows呢?
假设如果你能定义了下载保存路径为E盘而用户只有D盘怎么解?所以只能由用户选择存哪里,不过你可以定义保存的文件名,但是不能定义保存路径! 个人理解而已
所以我的需求是:希望能够有一个路径选择的过程!而不是自定义下载保存路径。
假设如果你能定义了下载保存路径为E盘而用户只有D盘怎么解?所以只能由用户选择存哪里,不过你可以定义保存的文件名,但是不能定义保存路径! 个人理解而已
所以我最终做的是通过浏览器下载的形式,不管系统[常规的系统]如何,至少可以有浏览器吧。
$objWriter->save( $fileName ); download( $fileName, true,false ); //exit();function download( $fileName, $delDesFile = false, $isExit = true ) { if ( file_exists( $fileName ) ) { header( 'Content-Description: File Transfer' ); header( 'Content-Type: application/octet-stream' ); header( 'Content-Disposition: attachment;filename = ' . basename( $fileName ) ); header( 'Content-Transfer-Encoding: binary' ); header( 'Expires: 0' ); header( 'Cache-Control: must-revalidate, post-check = 0, pre-check = 0' ); header( 'Pragma: public' ); header( 'Content-Length: ' . filesize( $fileName ) ); ob_clean(); flush(); readfile( $fileName ); if ( $delDesFile ) { unlink( $fileName ); } if ( $isExit ) { exit; } } }
这是我最终的方案。
上一篇: 伪静态解决方法
下一篇: PHP中使用cookie跟session