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

PHP 生成網站桌面快捷方式(.url 文件)代碼實現

     編輯:PHP 綜合知識

前言

通過 PHP 動態生成 .url 文件,用戶點擊下載後雙擊即可在桌面創建網站快捷方式。原理是輸出符合 INI 格式的 Internet Shortcut 內容,並設置正確的 HTTP 頭觸發下載。

核心實現

1. 入口頁面(生成鏈接)

<a href="generate.php?url=https://www.example.com&name=ExampleSite">
    生成桌面快捷方式
</a>

2. generate.php 生成邏輯

<?php
$url = $_GET['url'] ?? '';
$filename = urldecode($_GET['name'] ?? '');

// 字符集轉換(視項目編碼而定,UTF-8 專案通常無需轉換)
// $filename = iconv('GBK', 'UTF-8', $filename);

if (!$url || !$filename) {
    exit('參數缺失');
}

// Internet Shortcut 文件內容
$shortcut = <<

關鍵點解析

  1. 文件格式:.url 本質是 INI 文件,關鍵段為 [InternetShortcut],必須包含 URL 鍵
  2. CLSID:{000214A0-0000-0000-C000-000000000046} 代表 Internet Shortcut 的系統標識
  3. Prop3:19,2 設置圖標索引等屬性(可選)
  4. HTTP 頭:
    • Content-Type: application/octet-stream 強制下載
    • Content-Disposition: attachment; filename="xxx.url" 指定下載文件名
  5. 編碼注意:文件名含中文時,建議按 RFC 5987 編碼:filename*=UTF-8''%E4%BE%86%E6%BA%90.url,兼容性更好

擴展:自定義圖標

$shortcut = <<

用戶桌面快捷方式將顯示網站 Favicon。

安全提醒

  • 嚴格驗證 $url 協議(僅允許 http/https),防止 file://、javascript: 等危險協議
  • 對 $filename 做路徑遍歷過濾,移除 ../、..\\ 等
  • 限制生成頻率,防止濫用佔用帶寬
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved