Home > Backend Development > PHP Tutorial > PHP 弹出保存对话框

PHP 弹出保存对话框

WBOY
Release: 2016-06-23 13:41:37
Original
1153 people have browsed it

问题是这样的:
需要保存查询出来的表格置为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";}
Copy after login
Copy after login

那你直接给个文件链接 试试


可以具体一点么?因为我是需要后台再去查询数据库,然后据所得的内容填充到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";}
Copy after login
Copy after login



行不通!

我仔细询问了多个PHPer 目前应该是做不到弹出路径选择框,只能退而求其次,显示为下载模样,代码稍后给大家贴出。敬谢!

假设如果你能定义了下载保存路径为E盘而用户只有D盘怎么解?所以只能由用户选择存哪里,不过你可以定义保存的文件名,但是不能定义保存路径! 个人理解而已

假设如果你能定义了下载保存路径为E盘而用户只有D盘怎么解?所以只能由用户选择存哪里,不过你可以定义保存的文件名,但是不能定义保存路径! 个人理解而已

赞同,要是这样你就还要考虑如果用户不是用windows呢?

假设如果你能定义了下载保存路径为E盘而用户只有D盘怎么解?所以只能由用户选择存哪里,不过你可以定义保存的文件名,但是不能定义保存路径! 个人理解而已



所以我的需求是:希望能够有一个路径选择的过程!而不是自定义下载保存路径。


假设如果你能定义了下载保存路径为E盘而用户只有D盘怎么解?所以只能由用户选择存哪里,不过你可以定义保存的文件名,但是不能定义保存路径! 个人理解而已

赞同,要是这样你就还要考虑如果用户不是用windows呢?



所以我最终做的是通过浏览器下载的形式,不管系统[常规的系统]如何,至少可以有浏览器吧。

$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;          }      }  } 
Copy after login


这是我最终的方案。

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template