我目前正在开发一个使用HTML和PHP的项目,允许用户将信息输入到Web表单中 以生成Excel文件。 提交时,表单运行一个PHP文件,main.php: p>
<?php
//输出标题,以便下载文件而不是显示
$ order = $ _POST [“order”];
header('Content-Type:text / plain; charset = utf-8');
header('Content-Disposition:attachment; filename =“'。$ _ POST [ 'order']。'。xls“');
exec('php xl.php');
sleep(2);
readfile('xl_template.xls');
error_reporting(E_ALL); \ n ini_set(“display_errors”,1);
?>
code> pre>
其中“xl.php”是另一个PHP文件,“xl_template”是一个模板 我想修改的Excel表格。 main.php的目的是获取修改后的模板并将其下载到用户的计算机,而xl.php实际修改Excel模板并将其保存到服务器计算机(使用PHPExcel库): p>
<?php
//这个文件将在执行后由main.php
//调用,应该有一个newfile.xls
//为main.php读取\ n error_reporting(E_ALL);
require('Classes / PHPExcel.php');
//变量定义
$ template =“xl_template.xls”;
$ objPHPExcel = PHPExcel_IOFactory :: load( $ template);
$ objWorksheet = $ objPHPExcel-> getActiveSheet();
$ objWorksheet-> getCell('A2') - > setValue('123400000000000000000001');
$ objWorksheet-> getCell( 'B2') - > setValue('it working!');
$ objWriter = PHPExcel_IOFactory :: createWriter($ objPHPExcel,'Excel5');
$ objWriter-> save($ template);
? >
code> pre>
当从终端调用xl.php文件然后表单为fil时,这可以正常工作 领导了。 但是,当从main.php通过 exec('php xl.php') code>方法调用xl.php时,Excel文件不会更新,我认为这意味着xl.php是 没有成功执行。 p>
除了 exec() code>之外,我还试过 system() code>, shell_exec code >,反引号运算符和 passthru() code>,结果相同。 此外,我尝试了Javascript和JQuery方法,使用 $。get('xl.php') code>和 $。ajax({url:'xl.php')调用xl.php文件。 没有运气。 p>
对于这个问题的任何见解将不胜感激,因为我仍然是使用PHP的新手。 谢谢。 p>
div>