繁体   English   中英

如何通过 ajax 使用 PHP 将文件保存在特定的服务器 * 文件夹中。 不通过浏览器下载

[英]How to save a file on a specific server* folder with PHP trough ajax. Not downloading through browser

我正在使用 PHPExcel 生成一个 excel 文件,我需要通过使用 ajax调用我的 PHP 文件将其保存在特定的服务器文件夹中(以避免打开额外的窗口)。

我发现这篇文章和第二个答案接近我需要的东西,但是通过浏览器下载文件,我不想要。 我只想将 .xls 文件保存在服务器的特定文件夹中,而不是在我的电脑中

这就是我所拥有的:

PHP :

$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
$objWriter->save('../pdf-totext/'.$_POST["folder"].'/'.$_POST["filename"]); //save the file here

JS

 $.ajax({
  type:'POST',
  url:'php/libs/PHPExcel-1.8/F29.php',
  data: {folder:folder,filename:filename}
});

所以可以保存PHPExcel生成的.xls文件,通过AJAX调用我的PHP文件吗?

编辑

我对服务器端和客户端没问题,只是我想通过 ajax 调用我的 PHP 文件,所以我的 PHP 文件将 .xls 保存在服务器文件夹中。

编辑 2

如果我移动到这样的另一个窗口(并在 PHP 文件中使用 GET 代替 POST),它会起作用:

window.open('php/libs/PHPExcel-1.8/F29.php?folder='+folder+'&filename='+filename,'_blank');

但是如果我通过AJAX调用PHP文件不起作用。

它是PHP Excel ...... PHP 不在客户端运行,它在服务器上运行 - 所以默认情况下它会将文件保存到服务器...... AJAX 用于将消息从 javascript(客户端浏览器)发送到服务器(由 PHP 代码接收/处理),并接收回数据。

你用 PHP 编写 PHPExcel 代码,所以你已经在 PHP(网络服务器)端,所以不需要 javascript/AJAX - 除非你想让用户点击一个按钮并请求从 PHPExcel 生成的文件下载服务器到客户端。

顺便说一句,PHP 无法访问本地文件系统,因此您无法告诉 Web 服务器将文件保存在本地计算机上的位置。 PHP 会将文件保存到网络服务器上。

但是,如果您的网络服务器是本地的(例如xamppmamp或类似的),那么情况就不同了。 如果这就是您正在做的事情,请告诉我们。 (您仍然不会使用 AJAX 来保存文件 - 但 PHP 可以访问本地驱动器,因为网络服务器位于本地驱动器上)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM