【发布时间】:2016-06-29 06:20:04
【问题描述】:
以上两个函数在wordpress中不起作用。我想下载文件,我在 xampp 中运行 wordpress,我也在另一台在线服务器上尝试过,但 wordpress 框架仍然无法正常工作。
但这是在另一个我没有使用 wordpress 框架的在线服务器上工作。
wordpress使用以上两个功能有问题吗?
(下面的代码只接受获取请求,这是要从服务器下载的文件的路径,并且在验证令牌后,路径是从数据库中给出的)
<?php
ini_set('display_errors', -1 );
require('wp-blog-header.php');
require('wp-config.php');
$token = ($_GET["token"]);
$platform = ($_GET["platform"]);
$resolution = ($_GET["resolution"]);
$assetName =($_GET["assetName"]);
$currentTime = date("ymdHi" , time());
if($wpdb->query("SELECT * FROM wp_token_table WHERE token='$token'")){
$result = $wpdb->get_results("SELECT (path) FROM wp_path_table WHERE os='$platform' AND res = '$resolution' AND bundle_name= '$assetName'");
if($result){
$path = $result[0]->path;
$fileName = basename($assetName);
$filePath = $path;
if(!empty($fileName) && file_exists($filePath)){
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Type: application/zip");
header("Content-Length:".filesize($filePath));
header("Content-Disposition: attachment; filename=$fileName");
header("Content-Transfer-Encoding: binary");
readfile($filePath);
exit;
}
}
}else echo "false";
?>
【问题讨论】:
-
您不能在输出后更改标题,不幸的是,WordPress 所做的第一件事就是输出模板的标题部分。如果您打开显示错误,您可能会看到一个警告。
-
您最好的选择是,完全在 wordpress 之外创建一个 php 文件,您可以通过将表单提交到 iframe 来链接到该文件。在此文件中,您将输出文件的标题和内容。
-
那么我可以为这个@ArtisiticPhoenix 做些什么,但它正在其他在线服务器上工作。
-
其他没有wordpress的在线服务器对吗?
-
您可以尊重我发布的这个答案。 stackoverflow.com/questions/166221/…