2

下载链接:

<a href="download.php?words=2000&sort=popular&type=xml">Download php file</a>

下载.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Home</title>
</head>
<body>
<h1>PHP file</h1>

<?php
function get_text($text)  
{  
   ....
}      

function get_time($time)  
{  
   ....
}    

$url = "http://api.xxx.com/info.php?words=".$_GET['words']."&sort=".$_GET['sort']."&type="$_GET['type'];
$xml = simplexml_load_file($url);
if (count($xml))
{
  foreach($xml->book as $book)
  {
    echo ....      
  }
}
?>

</body>
</html>

download.php 是一个现成的 API php 脚本,用于为网站管理员提供上传到他们的 FTP。站长可以从表单中选择多个选项(例如:download.php?words=2000&sort=popular&type=xml),然后提交表单以获取他们自定义的 API 脚本。

这是在提交表单后将替换选项的行。:

$url = "http://api.xxx.com/info.php?words=".$_GET['words']."&sort=".$_GET['sort']."&type="$_GET['type'];

这是强制下载的代码。但我不知道如何用 $content = ""; 包裹整个页面。我知道如何包装 HTML 代码,但如何在页面上包装 PHP 函数和代码?

header("Content-Disposition: attachment; filename="download.php");
print $content;
4

1 回答 1

1

不确定这是否是您想要的;但是您可以创建第二个脚本来调用第一个脚本,获取输出,然后将其与提到的标头一起发送:

<?php
$words = (int) $_GET['words'];
$sort = $_GET['sort'];

$url = sprintf("http://localhost/wherever/download.php?words=%d&sort=%s&type=xml", $words, $sort);
$content = file_get_contents($url);

header("Content-Disposition: attachment; filename="download.php");
print $content;
?>

调用该文件“force_download.php”并让用户调用<a href="force_download.php?words=2000&sort=popular&type=xml">Download php file</a>

于 2013-01-31T16:20:32.550 回答