我正在使用PHPExcel生成一个excel文件,我需要通过调用我的PHP文件将其保存在特定的 服务器 文件夹 / em> 和ajax(以避免打开额外的窗口)。
我发现有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文件不起作用,那么
答案 0 :(得分:1)
它是PHP
Excel ... PHP不在客户端上运行,而是在服务器上运行-因此默认情况下它将文件保存到服务器... AJAX用于从javascript发送消息(客户端浏览器)到服务器(由PHP代码接收/处理),然后再接收数据。
您使用PHP编写PHPExcel代码,因此您已经在PHP(网络服务器)端,因此不需要javascript / AJAX-除非您希望允许用户单击按钮并要求将PHPExcel生成的文件从服务器下载到客户端。
顺便说一句,PHP无法访问本地文件系统,因此您无法告诉Web服务器将文件保存在本地计算机上的位置。 PHP将文件保存到Web服务器上。
但是,如果您的Web服务器是本地服务器(例如xampp
或mamp
或类似服务器),那就是另一回事了。让我们知道那是您在做什么。 (您仍然不会使用AJAX保存文件-但由于Web服务器位于本地驱动器上,因此PHP可以访问本地驱动器)