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

9 個超實用 PHP 代碼片段提升開發效率

     編輯:PHP 相關知識

9 個超實用 PHP 代碼片段提升開發效率

精選 9 個高頻使用的 PHP 代碼片段,涵蓋數據 URI、文件合併、郵件追蹤、關鍵詞提取、鏈接掃描、URL 自動鏈接、圖片下載、語言檢測、Facebook 粉絲數獲取,可直接集成到項目中。

1. 生成 Data URI 嵌入圖片

function dataUri($file, $mime) {
    $base64 = base64_encode(file_get_contents($file));
    return "data:$mime;base64,$base64";
}

// 使用:

減少 HTTP 請求,適合小圖標、背景圖嵌入 CSS/HTML。

2. 合併 JS/CSS 文件減少請求

function combineAssets($files, $destDir, $destName) {
    $destPath = $destDir . $destName;
    if (!file_exists($destPath)) {
        $content = '';
        foreach ($files as $file) $content .= file_get_contents($file);
        // 可接入壓縮庫:$content = minify($content);
        file_put_contents($destPath, $content);
    }
    return '';
}

3. 郵件閱讀追蹤(1x1 圖片信標)

header('Content-Type: image/jpeg');
$ip = $_SERVER['HTTP_CLIENT_IP'] ?? $_SERVER['HTTP_X_FORWARDED_FOR'] ?? $_SERVER['REMOTE_ADDR'];
$log = date('Y-m-d H:i:s') . " $ip {$_SERVER['HTTP_USER_AGENT']}\n";
file_put_contents('email_open.log', $log, FILE_APPEND);
imagejpeg(imagecreate(1,1));  // 輸出 1px 透明圖片

嵌入郵件:<img src="track.php?uid=123" width="1" height="1">

4. 提取網頁 Meta Keywords

$meta = get_meta_tags('https://example.com');
$keywords = array_filter(array_map('trim', explode(',', $meta['keywords'] ?? '')));

5. 掃描頁面所有鏈接

$dom = new DOMDocument();
@$dom->loadHTML(file_get_contents($url));
$xpath = new DOMXPath($dom);
foreach ($xpath->evaluate('//a') as $link) {
    echo $link->getAttribute('href') . "\n";
}

6. 文本中 URL 自動轉超鏈接

function autoLink($text) {
    return preg_replace_callback(
        '#(^|[\s>])(\w+://[\w\x80-\xff#$%&~/.\-;:=,?@\[\]+]*)#i',
        fn($m) => $m[1] . '' . $m[2] . '',
        $text
    );
}

7. 下載遠程圖片到本地

file_put_contents('/local/path.jpg', file_get_contents('https://remote/image.jpg'));

8. 檢測瀏覽器首選語言

function detectLanguage($available = ['en','zh','ja'], $default = 'en') {
    if (empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) return $default;
    foreach (explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']) as $lang) {
        if (in_array($lang[0].$lang[1], $available)) return $lang[0].$lang[1];
    }
    return $default;
}

9. 獲取 Facebook 粉絲數

$pageId = 'your_page_id';
$json = file_get_contents("https://graph.facebook.com/$pageId?fields=fan_count");
echo json_decode($json)->fan_count ?? 0;

需申請 Access Token 並替換為 https://graph.facebook.com/$pageId?fields=fan_count&access_token=...

這些片段解決了開發中 80% 的常見場景,建議整理為個人代碼庫隨時調用。

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