如何使用php來強制文件下載(怎麼下載php文件)

本文目錄一覽:

php 彈出文件下載

通過指定header

如:

?php

$filename = “test.gif”;

header(‘Content-Type:image/gif’); //指定下載文件類型

header(‘Content-Disposition: attachment; filename=”‘.$filename.'”‘); //指定下載文件的描述

PHP中如何突破COOKIE進行下載PHP文件?

答案是不行的。

你即使下載下來了php,那也是執行後的頁面了。

你請求那個文件,伺服器有可能是apache,是它在管理如果響應請求,而它是解析php的,因此不可能下載下來。

—–

這個和COOKIE無關。迅雷的那個提示,也許是因為,那麼頁面是需要登陸才能顯示,因為你未登陸,所以顯示COOKIE無效。

但即使你登陸了,下載下來的也是一個執行後的php文件。

如果php文件可以下載,那網站還有什麼安全性呢?

php中強制下載文件的代碼(解決了IE下中文文件名亂碼問題)

中間遇到一個問題是提交的中文文件名直接放到header里在IE下會變成亂碼,解決方法是將文件名先urlencode一下再放入header,如下。

複製代碼

代碼如下:

?php

$file_name

=

urlencode($_REQUEST[‘filename’]);

header(“Pragma:

public”);

header(“Expires:

0″);

header(“Cache-Control:

must-revalidate,

post-check=0,

pre-check=0″);

header(“Content-Type:

application/force-download”);

header(‘Content-Type:

application/vnd.ms-excel;

charset=utf-8′);

header(“Content-Transfer-Encoding:

binary”);

header(‘Content-Disposition:

attachment;

filename=’.$file_name);

echo

stripslashes($_REQUEST[‘content’]);

?

解決PHP

Header下載文件在IE文件名中文亂碼有兩種常見的,一種是是把頁面編碼改成utf8,另一種是對中文url進入urlencode編碼就可以解決了。

解決方案一(我的頁面是utf-8編碼):

複製代碼

代碼如下:

$filename

=

“中文.txt”;

$ua

=

$_SERVER[“HTTP_USER_AGENT”];

$encoded_filename

=

urlencode($filename);

$encoded_filename

=

str_replace(“+”,

“%20”,

$encoded_filename);

header(‘Content-Type:

application/octet-stream’);

if

(preg_match(“/MSIE/”,

$ua))

{

header(‘Content-Disposition:

attachment;

filename=”‘

.

$encoded_filename

.

‘”‘);

}

else

if

(preg_match(“/Firefox/”,

$ua))

{

header(‘Content-Disposition:

attachment;

filename*=”utf8”’

.

$filename

.

‘”‘);

}

else

{

header(‘Content-Disposition:

attachment;

filename=”‘

.

$filename

.

‘”‘);

}

解決方法二

將文件名先urlencode一下再放入header,如下。

代碼如下:

複製代碼

代碼如下:

?php

$file_name

=

urlencode($_REQUEST[‘filename’]);

header(“Pragma:

public”);

header(“Expires:

0″);

header(“Cache-Control:

must-revalidate,

post-check=0,

pre-check=0″);

header(“Content-Type:

application/force-download”);

header(‘Content-Type:

application/vnd.ms-excel;

charset=utf-8′);

header(“Content-Transfer-Encoding:

binary”);

header(‘Content-Disposition:

attachment;

filename=’.$file_name);

echo

stripslashes($_REQUEST[‘content’]);

?

用php如何實現下載任意格式的文件

以下載PDF文件為例:

?php

header(‘Content-type: application/pdf’);//文件類型

header(‘Content-Disposition: attachment; filename=”downloaded.pdf”‘);//默認保存的文件名

readfile(‘original.pdf’);//實際的文件路徑

?

其他文件類型的寫法參考

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/228863.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-10 12:09
下一篇 2024-12-10 12:09

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • vue下載無後綴名的文件被加上後綴.txt,有後綴名的文件下載正常問題的解決

    本文旨在解決vue下載無後綴名的文件被加上後綴.txt,有後綴名的文件下載正常的問題,提供完整的代碼示例供參考。 一、分析問題 首先,需了解vue中下載文件的情況。一般情況下,我們…

    編程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件並生成完整的圖像

    OBJ格式是一種用於表示3D對象的標準格式,通常由一組頂點、面和紋理映射坐標組成。在本文中,我們將討論如何將多個OBJ文件拼接在一起,生成一個完整的3D模型。 一、讀取OBJ文件 …

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • 為什麼用cmd運行Java時需要在文件內打開cmd為中心

    在Java開發中,我們經常會使用cmd在命令行窗口運行程序。然而,有時候我們會發現,在運行Java程序時,需要在文件內打開cmd為中心,這讓很多開發者感到疑惑,那麼,為什麼會出現這…

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • 如何使用Python獲取某一行

    您可能經常會遇到需要處理文本文件數據的情況,在這種情況下,我們需要從文本文件中獲取特定一行的數據並對其進行處理。Python提供了許多方法來讀取和處理文本文件中的數據,而在本文中,…

    編程 2025-04-29
  • Python將矩陣存為CSV文件

    CSV文件是一種通用的文件格式,在統計學和計算機科學中非常常見,一些數據分析工具如Microsoft Excel,Google Sheets等都支持讀取CSV文件。Python內置…

    編程 2025-04-29
  • Python zipfile解壓文件亂碼處理

    本文主要介紹如何在Python中使用zipfile進行文件解壓的處理,同時詳細討論在解壓文件時可能出現的亂碼問題的各種解決辦法。 一、zipfile解壓文件亂碼問題的根本原因 在P…

    編程 2025-04-29
  • Python如何導入py文件

    Python是一種開源的高級編程語言,因其易學易用和強大的生態系統而備受青睞。Python的import語句可以幫助用戶將一個模塊中的代碼導入到另一個模塊中,從而實現代碼的重用。本…

    編程 2025-04-29

發表回復

登錄後才能評論