首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 產生桌面捷徑檔的實作範例

     編輯:PHP 相關知識

透過 PHP 動態產生 .url 檔案,讓使用者點選下載後即可在桌面建立網站捷徑。這在行銷活動、快速部署內部系統連結等情境相當實用。

核心原理

.url 實為純文字檔,內容遵循 InternetShortcut 格式。瀏覽器下載時若設定正確的 Content-Type 與 Content-Disposition,作業系統會自動識別為捷徑。

完整程式碼

<?php
$shortCut = "[InternetShortcut]
URL=https://www.example.com
IDList=[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,2";

header("Content-type: application/octet-stream");
header('Content-Disposition: attachment; filename="MySite.url"');
echo $shortCut;
?>

關鍵設定說明

  • URL:目標網址,請替換為實際連結。
  • filename:下載檔名,建議使用英文或 URL 編碼,避免中文檔名在不同瀏覽器/編碼下亂碼。
  • 編碼:儲存 PHP 檔案時請用 ANSI / Big5 或 UTF-8 without BOM,勿用 UTF-8 with BOM,否則可能導致檔名異常。
  • favicon.ico:網站根目錄放置 favicon.ico,捷徑圖示才會正常顯示。

進階應用:動態產生專屬捷徑

<?php
$userId = isset($_GET['uid']) ? intval($_GET['uid']) : 0;
$targetUrl = "https://app.example.com/dashboard?uid={$userId}";
$safeName = "MyApp_{$userId}.url";

$content = "[InternetShortcut]\nURL={$targetUrl}\nIDList=[{000214A0-0000-0000-C000-000000000046}]\nProp3=19,2";

header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"{$safeName}\"");
echo $content;
?>

使用者造訪 gen_shortcut.php?uid=123 即可下載專屬捷徑,適用於多租戶系統或個人化入口。

常見問題

捷徑圖示不顯示?
確認網站根目錄有 favicon.ico,且可公開存取。
中文檔名亂碼?
改用英文檔名,或依 RFC 5987 格式編碼:filename*=UTF-8''%E6%8D%B7%E5%BE%91.url。
Mac / Linux 無法使用?
.url 為 Windows 專用格式。跨平台建議改用 .desktop (Linux) 或 .webloc (macOS)。

這項技巧零依賴、無需 JavaScript,極適合快速佈署「一鍵加入桌面」功能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved