gpt4 book ai didi

php - 根据页面标题自动重命名下载的文件?

转载 作者:行者123 更新时间:2023-11-28 16:00:08 26 4
gpt4 key购买 nike

基本上,我希望在每个页面的底部都有一个下载 .zip 文件的链接。在该 .zip 文件中,我将有一个 PDF 文件。

每次下载 .zip 文件时,我都希望其标题与页面标题相同 - 另外,我希望 PDF 也相同。

例如,如果他们从标题为“This Is My Page”的页面下载,则 .zip 文件应为“This Is My Page.zip”,其中的 PDF 应为“This Is My Page.pdf” 。无论从哪个页面下载,PDF 都将具有完全相同的相同内容

我愿意接受任何解决方案,无论是 PHP、Javascript、HTML 等。

最佳答案

当你 force a download with PHP ,您可以在 Content-Disposition header 中使用 filename= 来动态设置下载的文件名。

download_zip.php

$actual_file_name = '/var/yourserver/file.zip';
$download_file_name = substr(str_replace(array('\\/|>< ?%\"*'), '_', $_GET['title'] . '.zip'), 0, 255);
$mime = 'application/zip';

header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private', false);
header('Content-Type: ' . $mime);
header('Content-Disposition: attachment; filename="'. $download_file_name .'"'); // Set it here!
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($actual_file_name));
header('Connection: close');
readfile($actual_file_name);
exit();

要获取最后一页的页面标题,最简单的方法可能是将标题作为下载链接中的 $_GET 变量传递。从带有下载链接的页面:

<a href="http://yoursite.com/download_zip.php?title=The+Page+You+Were+Just+On">Download Zip File With This Page's Title</a>

这将要求您在链接中包含页面标题,因此为了避免在两个位置更新页面标题,请尝试使用 $page_title 变量。在带有下载链接的页面中:

<?php
$page_title = 'Page Title';
?>
<html>
<head>
<title><?= $page_title ?></title>
</head>
<body>
<a href="http://yoursite.com/download_zip.php?title=<?= urlencode($page_title) ?>">Download Zip File With This Page's Title</a>
</body>
</html>

关于php - 根据页面标题自动重命名下载的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17256440/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com