$current_time = time(); $date_format = 'Y-m-d H:i:s'; echo(date($date_format, $current_time));
以上代碼將輸出當(dāng)前的日期時(shí)間,格式為“年-月-日 時(shí):分:秒”。 接下來,我們需要指定一個(gè)截止時(shí)間點(diǎn)。假設(shè)我們想要制作一個(gè)倒計(jì)時(shí)圖片,展示距離某個(gè)特定的節(jié)日還有多少天、小時(shí)、分鐘和秒鐘,我們可以這樣寫:
$target_time = strtotime('2021-10-01 00:00:00'); $diff_time = $target_time - $current_time; $remaining_days = floor($diff_time / (60 * 60 * 24)); $remaining_hours = floor(($diff_time % (60 * 60 * 24)) / (60 * 60)); $remaining_minutes = floor(($diff_time % (60 * 60)) / 60); $remaining_seconds = $diff_time % 60;
以上代碼首先利用 strtotime() 函數(shù)將字符串時(shí)間轉(zhuǎn)換為時(shí)間戳,然后計(jì)算與當(dāng)前時(shí)間的時(shí)間差。接著,我們用 floor() 函數(shù)取整,分別得到剩余的天數(shù)、小時(shí)數(shù)、分鐘數(shù)和秒數(shù)。 現(xiàn)在,我們已經(jīng)得到了各種時(shí)間差,接下來需要將其用圖片展示出來。假設(shè)我們已經(jīng)準(zhǔn)備好了一系列數(shù)字和冒號(hào)的圖片,我們可以將它們合成為一張完整的圖片。我們可以使用 PHP GD 庫(kù)來實(shí)現(xiàn)這一目標(biāo)。
$width = 640; $height = 480; $image = imagecreate($width, $height); // Load images $background = imagecreatefromjpeg('background.jpg'); $number0 = imagecreatefrompng('0.png'); $number1 = imagecreatefrompng('1.png'); $number2 = imagecreatefrompng('2.png'); $number3 = imagecreatefrompng('3.png'); $number4 = imagecreatefrompng('4.png'); $number5 = imagecreatefrompng('5.png'); $number6 = imagecreatefrompng('6.png'); $number7 = imagecreatefrompng('7.png'); $number8 = imagecreatefrompng('8.png'); $number9 = imagecreatefrompng('9.png'); $colon = imagecreatefrompng('colon.png'); // Place images imagecopy($image, $background, 0, 0, 0, 0, $width, $height); imagecopy($image, getImage($remaining_days), 100, 100, 0, 0, 100, 200); imagecopy($image, $colon, 210, 150, 0, 0, 25, 50); imagecopy($image, getImage($remaining_hours), 240, 100, 0, 0, 100, 200); imagecopy($image, $colon, 350, 150, 0, 0, 25, 50); imagecopy($image, getImage($remaining_minutes), 380, 100, 0, 0, 100, 200); imagecopy($image, $colon, 490, 150, 0, 0, 25, 50); imagecopy($image, getImage($remaining_seconds), 520, 100, 0, 0, 100, 200); header('Content-Type: image/jpeg'); imagejpeg($image); imagedestroy($image); function getImage($n){ global $number0,$number1,$number2,$number3,$number4,$number5,$number6,$number7,$number8,$number9; switch($n){ case 0: return $number0; case 1: return $number1; case 2: return $number2; case 3: return $number3; case 4: return $number4; case 5: return $number5; case 6: return $number6; case 7: return $number7; case 8: return $number8; case 9: return $number9; } }
以上代碼創(chuàng)建了一個(gè)大小為 640x480 的空白圖片,并將背景圖片和數(shù)字圖片加載到內(nèi)存中。接著,我們能夠加載指定的倒計(jì)時(shí)數(shù)字圖片,并根據(jù)位置大小將它們繪制在空白圖片中,最后輸出合成的圖片。 總結(jié) 在本文中,我們介紹了如何使用 PHP 和 GD 庫(kù)制作倒計(jì)時(shí)圖片。通過將數(shù)字和冒號(hào)圖片合成為一張完整的圖片,我們能夠?qū)⒌褂?jì)時(shí)的數(shù)字顯示出來,并實(shí)現(xiàn)更加生動(dòng)的網(wǎng)頁效果。