通过批处理脚本/任务调度程序执行 PHPSpreadsheet
Execute PHPSpreadsheet via batch script / task scheduler
我创建了两个 php 文件,分别执行两个任务。
1。第一个脚本使用 PHPSpreadsheet 创建一个填充的我的报告模板,它是一个 xlsx 文件。当 运行 直接通过浏览器 (Google Chrome) 时,这非常有效。
2。第二个脚本使用 PHPMailer 获取此文件并将其附加到电子邮件中。当通过浏览器执行时,这再次完美运行。
我已经尝试 运行使用批处理文件来编写相同的脚本,但这是第一部分失败的地方。永远不会创建 Xlsx 文件,因此会发送电子邮件而不附加文档。
我已经尝试 运行通过批处理脚本单独设置每个脚本。
第二部分(发送邮件)按预期工作。
似乎是通过批处理脚本创建文件的问题。
REM This adds the folder containing php.exe to the path
PATH=%PATH%;C:\php
REM Change Directory to the folder containing your script
CD C:\Apache24\htdocs\phpspreadsheet\reporting
REM Execute
php report_v1.1.php
REM Change Directory to the folder containing your script
CD C:\Apache24\htdocs\Automation
REM Execute
php report.php
我想按顺序将这两个脚本自动执行 运行,这样我就可以自动将报告发送给相关的收件人。我没有从第一个脚本中收到任何错误消息,当通过命令行执行它进行测试时,终端屏幕上只有很多随机字符。
正在更新我的代码的最后一部分以阅读
$writer->save(php_sapi_name() === 'cli' ? 'report_name.xlsx' : 'php://output');
成功了。感谢@Hunman 提供建议的解决方案。
我创建了两个 php 文件,分别执行两个任务。
- 1。第一个脚本使用 PHPSpreadsheet 创建一个填充的我的报告模板,它是一个 xlsx 文件。当 运行 直接通过浏览器 (Google Chrome) 时,这非常有效。
- 2。第二个脚本使用 PHPMailer 获取此文件并将其附加到电子邮件中。当通过浏览器执行时,这再次完美运行。
我已经尝试 运行使用批处理文件来编写相同的脚本,但这是第一部分失败的地方。永远不会创建 Xlsx 文件,因此会发送电子邮件而不附加文档。
我已经尝试 运行通过批处理脚本单独设置每个脚本。
REM This adds the folder containing php.exe to the path
PATH=%PATH%;C:\php
REM Change Directory to the folder containing your script
CD C:\Apache24\htdocs\phpspreadsheet\reporting
REM Execute
php report_v1.1.php
REM Change Directory to the folder containing your script
CD C:\Apache24\htdocs\Automation
REM Execute
php report.php
我想按顺序将这两个脚本自动执行 运行,这样我就可以自动将报告发送给相关的收件人。我没有从第一个脚本中收到任何错误消息,当通过命令行执行它进行测试时,终端屏幕上只有很多随机字符。
正在更新我的代码的最后一部分以阅读
$writer->save(php_sapi_name() === 'cli' ? 'report_name.xlsx' : 'php://output');
成功了。感谢@Hunman 提供建议的解决方案。