如何使用PHP通过ajax在特定服务器*文件夹上保存文件。不通过浏览器下载
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用PHP通过ajax在特定服务器*文件夹上保存文件。不通过浏览器下载相关的知识,希望对你有一定的参考价值。
我正在使用phpExcel生成一个excel文件,我需要通过使用ajax调用我的PHP文件将其保存在特定的服务器文件夹中(以避免额外的窗口打开)。
我发现this帖子,第二个答案有一些接近我需要的东西,但是通过浏览器下载文件,我不希望这样。我只想将.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(webserver)端,所以不需要javascript / AJAX - 除非你想让用户点击一个按钮并请求从下载的PHPExcel生成的文件服务器到客户端。
顺便说一句,PHP无法访问本地文件系统,因此您无法告诉Web服务器将文件保存在本地计算机上的何处。 PHP会将文件保存到Web服务器上。
但是,如果您的网络服务器是本地的(例如xampp
或mamp
或其他类似的),那么这是一个不同的故事。如果您正在做的话,请告诉我们。 (您仍然不会使用AJAX来保存文件 - 但PHP可以访问本地驱动器,因为Web服务器在本地驱动器上)
以上是关于如何使用PHP通过ajax在特定服务器*文件夹上保存文件。不通过浏览器下载的主要内容,如果未能解决你的问题,请参考以下文章