Ссылка для скачивания:
<a href="download.php?words=2000&sort=popular&type=xml">Download php file</a>
Download.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 - это готовый php-скрипт API, позволяющий веб-мастерам загружать файлы на свой 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;
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>
.
Похожие вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.
wrap
в... how to wrap the PHP function and codes on the page
?<
<
. Для такого рода вещей вы можете использовать такие функции, какhtml_entity_decode
< / а>. Вам просто нужно выяснить, какую кодировку вы используете и как вы ее представляете.download.php
? Стоит ли мне беспокоиться о том, что в вашем примере естьtype=json
, но файл на самом деле использует XML?file_get_contents()
вместоsimplexml_load_file()
, если вы не хотите анализировать данные как XML.