在php中动态创建和下载文件
我正在动态创建一个Excel文件(数据来自数据库)。在调用URL时,它工作正常,显示下载对话框。但是,每当我使用CURl函数调用这个URL时,我都希望动态地将这个文件保存在一个文件夹中(即在我的服务器硬盘中)。 如何设置标题,使其创建Excel文件并将其保存在文件夹中。 我正在使用的头代码在php中动态创建和下载文件,php,header,Php,Header,我正在动态创建一个Excel文件(数据来自数据库)。在调用URL时,它工作正常,显示下载对话框。但是,每当我使用CURl函数调用这个URL时,我都希望动态地将这个文件保存在一个文件夹中(即在我的服务器硬盘中)。 如何设置标题,使其创建Excel文件并将其保存在文件夹中。 我正在使用的头代码 <?php $name = "myFile"; $file_ending = "xls"; header("Content-type: application/octet-stream
<?php
$name = "myFile";
$file_ending = "xls";
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename={$name}.{$file_ending}");
header("Pragma: no-cache");
header("Expires: 0");
echo "the data...";
?>
或者是否有其他方法可以做到这一点。
注意—我希望这样做,因为web服务器调度程序将调用此函数。您无法通过设置标题将某些内容保存在特定路径中。HTTP头专门帮助通过HTTP网络连接传输数据,而HTTP网络连接对文件系统一无所知 也许你只是想这样做
通过设置标题,您无法在某些特定路径中保存某些内容。HTTP头专门帮助通过HTTP网络连接传输数据,而HTTP网络连接对文件系统一无所知 也许你只是想这样做 很容易 创建一个空目录,比如说称之为“下载” 在“downloads”目录中创建一个.htaccess文件,其中包含以下内容
Options +SymLinksIfOwnerMatch
IndexIgnore */*
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . dummy.php
在“downloads”目录中创建一个名为dummy.php的文件
<?php
param = $_Get["param"];
echo "The file contents, echo anything you want"
?>
通过保持目录为空,每当它找不到文件时,就会调用dummy.php
<?php
param = $_Get["param"];
echo "The file contents, echo anything you want"
?>
您希望用户下载的任何文件,请指向/downloads/Any_madeup_filename这很简单
创建一个空目录,比如说称之为“下载”
在“downloads”目录中创建一个.htaccess文件,其中包含以下内容
Options +SymLinksIfOwnerMatch
IndexIgnore */*
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . dummy.php
在“downloads”目录中创建一个名为dummy.php的文件
<?php
param = $_Get["param"];
echo "The file contents, echo anything you want"
?>
通过保持目录为空,每当它找不到文件时,就会调用dummy.php
<?php
param = $_Get["param"];
echo "The file contents, echo anything you want"
?>
您希望用户下载的任何文件,请指向/downloads/Any_madeup_filename是的,这很有效,谢谢,我完全走错了方向:)是的,这很有效,谢谢,我完全走错了方向