![](/img/trans.png)
[英]How can I use $.post function in javascript to visit a page with post method to download a file?
[英]How can I create a Download Page with post php method?
我想知道如何在 PHP 中創建一個下載頁面來下載文件而不顯示文件的下載鏈接,並將源文件和下載頁面放在網頁中
<form>...</form>
標簽..
喜歡:
<form action="example.com/download.php" method="post" target="_blank">
<input name="id" type="hidden" value="#">
<input name="filename" type="hidden" value="#">
<input name="filesize" type="hidden" value="#"><p></p><div
align="center"> > > <input type="image"> </div> </form>
最后一個輸入是下載按鈕圖像的 src...
任何機構都可以幫助我了解整個過程是如何工作的,以及在 /download.php 頁面的源代碼中放入什么......以及如何為我的網頁制作表單......
其實我在一個網站上看到了這一切,誰在做同樣的事情..
請幫忙。 提前致謝...
您想創建一個通用的下載助手,您可以在其中提供某種唯一的 id,並讓此助手將正確的文件返回給最終用戶,而無需透露文件的真實路徑。
有很多方法可以解決這個問題,這也取決於您要實現的目標,以及可供下載的文件數量(這會影響實現的簡單性或復雜性)
例如:
如果您有一個可以提供數千個文件的下載站點 - 您將希望實現一種適用於 N 個文件的方法,這可能會變得復雜(當然取決於您的要求)。
另一方面 - 如果您只想處理 5-10 個文件,您可能會創建一個非常簡單的幫助程序來完成工作。
一個簡單助手的簡短示例:
下載.php
<?php
$fileId = $_GET['fileId'];
switch($fileId){
case 1:
$fileName = 'myFile.pdf';
break;
case 2:
$fileName = 'myOtherFile.doc';
break;
default:
$fileName = null;
}
if($fileName){
// $fileName is your file identifier
$fileFullPath = $_SERVER['DOCUMENT_ROOT'].'mySecretFolder/files/'.$fileName;
if (file_exists($fileFullPath)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($fileFullPath));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($fileFullPath));
ob_clean();
flush();
readfile($fileFullPath);
exit;
}
}
?>
HTML
<a href="https://www.my-domain.com/download.php?fileId=1"> Download PDF </a>
如果您需要提供少量文件並希望進行簡單、快速的實現,這只是一個簡單的示例。
如果您要為無限量或未知數量的文件提供服務器,您將需要實施一個高級文件服務系統(或使用現有的開源系統)。
希望它有點幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.