本文目錄一覽:
php如何讓重複區域的第一條字體加粗?
下面的代碼加工一下即可:
?php do { ?
div?php echo $row_Recordset1[‘cmc’]; ?/div
?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?
修改的方法:循環前設定一個變量記錄顯示的條數,初值為0,循環裏面每次顯示時候判斷序號,如果是第一條就特殊處理,顯示完畢序號累加,大概是這樣:
?php
$i=1;
do { ?
div?php
if ($i==1) echo ‘b’;
echo $row_Recordset1[‘cmc’];
if ($i==1) echo ‘/b’;
?/div
?php
$i++;
} while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?
php如何生成加粗或者斜體的文字樣式圖片
加粗或者斜體的文字可以用php的函數控制.我想你是想生成驗證碼圖片是嗎?
如果是想生成驗證么圖片有幾個函數可以考慮
imagecreate($length,$height)創建圖片.參數是圖片的寬度和高度
imagecolorallocate($image,$r,$g,$b)設置背景色,r b g就是圖片的三色rgb參數.這個可以由傳入0-255的隨機數決定隨機的背景色.還可以生成字體色
imagettftext($_image,$fontSize, mt_rand(-40, 70), $codeNX,$fontSize*1.5,$_color, $ttf, $code[$i]);寫入隨機的文字,這裡要一個字一個字寫.所以這個函數要循環調用.
百度了一下 找到了一個類…如下
?php
/**
* 安全驗證碼
*
* 安全的驗證碼要:驗證碼文字扭曲、旋轉,使用不同字體,添加干擾碼。
* 如果用中文做驗證碼(我這裡不是哦,有興趣你來改成用中文的),安全度會更好些,但驗證碼扭曲和旋轉是王道,用了字體也算是已經給字體扭曲了,我就不再去給他添一隻扭曲的足了。
* 可配置的屬性都是一些簡單直觀的變量,我就不用弄一堆的setter/getter了
*
* @author 流水孟春 cmpan(at)qq.com
* @copyright NEW BSD
* @link
* @link
*/
class YL_Security_Secoder {
/**
* 驗證碼的session的下標
*
* @var string
*/
public static $seKey = ‘sid.sekey.ylans.cn’;
public static $expire = 3000; // 驗證碼過期時間(s)
/**
* 驗證碼中使用的字符,01IO容易混淆,建議不用
*
* @var string
*/
public static $codeSet = ‘346789ABCDEFGHJKLMNPQRTUVWXY’;
public static $fontSize = 25; // 驗證碼字體大小(px)
public static $useCurve = true; // 是否畫混淆曲線
public static $useNoise = true; // 是否添加雜點
public static $imageH = 0; // 驗證碼圖片寬
public static $imageL = 0; // 驗證碼圖片長
public static $length = 4; // 驗證碼位數
public static $bg = array(243, 251, 254); // 背景
protected static $_image = null; // 驗證碼圖片實例
protected static $_color = null; // 驗證碼字體顏色
/**
* 輸出驗證碼並把驗證碼的值保存的session中
* 驗證碼保存到session的格式為: $_SESSION[self::$seKey] = array(‘code’ = ‘驗證碼值’, ‘time’ = ‘驗證碼創建時間’);
*/
public static function entry() {
// 圖片寬(px)
self::$imageL || self::$imageL = self::$length * self::$fontSize * 1.5 + self::$fontSize*1.5;
// 圖片高(px)
self::$imageH || self::$imageH = self::$fontSize * 2;
// 建立一幅 self::$imageL x self::$imageH 的圖像
self::$_image = imagecreate(self::$imageL, self::$imageH);
// 設置背景
imagecolorallocate(self::$_image, self::$bg[0], self::$bg[1], self::$bg[2]);
// 驗證碼字體隨機顏色
self::$_color = imagecolorallocate(self::$_image, mt_rand(1,120), mt_rand(1,120), mt_rand(1,120));
// 驗證碼使用隨機字體
$ttf = dirname(__FILE__) . ‘/ttfs/’ . mt_rand(1, 20) . ‘.ttf’;
if (self::$useNoise) {
// 繪雜點
self::_writeNoise();
}
if (self::$useCurve) {
// 繪干擾線
self::_writeCurve();
}
// 繪驗證碼
$code = array(); // 驗證碼
$codeNX = 0; // 驗證碼第N個字符的左邊距
for ($i = 0; $iself::$length; $i++) {
$code[$i] = self::$codeSet[mt_rand(0, 27)];
$codeNX += mt_rand(self::$fontSize*1.2, self::$fontSize*1.6);
// 寫一個驗證碼字符
imagettftext(self::$_image, self::$fontSize, mt_rand(-40, 70), $codeNX, self::$fontSize*1.5, self::$_color, $ttf, $code[$i]);
}
// 保存驗證碼
isset($_SESSION) || session_start();
$_SESSION[self::$seKey][‘code’] = join(”, $code); // 把校驗碼保存到session
$_SESSION[self::$seKey][‘time’] = time(); // 驗證碼創建時間
header(‘Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate’);
header(‘Cache-Control: post-check=0, pre-check=0’, false);
header(‘Pragma: no-cache’);
header(“content-type: image/png”);
// 輸出圖像
imagepng(self::$_image);
imagedestroy(self::$_image);
}
/**
* 畫一條由兩條連在一起構成的隨機正弦函數曲線作干擾線(你可以改成更帥的曲線函數)
*
* 高中的數學公式咋都忘了涅,寫出來
* 正弦型函數解析式:y=Asin(ωx+φ)+b
* 各常數值對函數圖像的影響:
* A:決定峰值(即縱向拉伸壓縮的倍數)
* b:表示波形在Y軸的位置關係或縱向移動距離(上加下減)
* φ:決定波形與X軸位置關係或橫向移動距離(左加右減)
* ω:決定周期(最小正周期T=2π/∣ω∣)
*
*/
protected static function _writeCurve() {
$A = mt_rand(1, self::$imageH/2); // 振幅
$b = mt_rand(-self::$imageH/4, self::$imageH/4); // Y軸方向偏移量
$f = mt_rand(-self::$imageH/4, self::$imageH/4); // X軸方向偏移量
$T = mt_rand(self::$imageH*1.5, self::$imageL*2); // 周期
$w = (2* M_PI)/$T;
$px1 = 0; // 曲線橫坐標起始位置
$px2 = mt_rand(self::$imageL/2, self::$imageL * 0.667); // 曲線橫坐標結束位置
for ($px=$px1; $px=$px2; $px=$px+ 0.9) {
if ($w!=0) {
$py = $A * sin($w*$px + $f)+ $b + self::$imageH/2; // y = Asin(ωx+φ) + b
$i = (int) ((self::$fontSize – 6)/4);
while ($i 0) {
imagesetpixel(self::$_image, $px + $i, $py + $i, self::$_color); // 這裡畫像素點比imagettftext和imagestring性能要好很多
$i–;
}
}
}
$A = mt_rand(1, self::$imageH/2); // 振幅
$f = mt_rand(-self::$imageH/4, self::$imageH/4); // X軸方向偏移量
$T = mt_rand(self::$imageH*1.5, self::$imageL*2); // 周期
$w = (2* M_PI)/$T;
$b = $py – $A * sin($w*$px + $f) – self::$imageH/2;
$px1 = $px2;
$px2 = self::$imageL;
for ($px=$px1; $px=$px2; $px=$px+ 0.9) {
if ($w!=0) {
$py = $A * sin($w*$px + $f)+ $b + self::$imageH/2; // y = Asin(ωx+φ) + b
$i = (int) ((self::$fontSize – 8)/4);
while ($i 0) {
imagesetpixel(self::$_image, $px + $i, $py + $i, self::$_color); // 這裡(while)循環畫像素點比imagettftext和imagestring用字體大小一次畫出(不用這while循環)性能要好很多
$i–;
}
}
}
}
/**
* 畫雜點
* 往圖片上寫不同顏色的字母或數字
*/
protected static function _writeNoise() {
for($i = 0; $i 10; $i++){
//雜點顏色
$noiseColor = imagecolorallocate(
self::$_image,
mt_rand(150,225),
mt_rand(150,225),
mt_rand(150,225)
);
for($j = 0; $j 5; $j++) {
// 繪雜點
imagestring(
self::$_image,
5,
mt_rand(-10, self::$imageL),
mt_rand(-10, self::$imageH),
self::$codeSet[mt_rand(0, 27)], // 雜點文本為隨機的字母或數字
$noiseColor
);
}
}
}
/**
* 驗證驗證碼是否正確
*
* @param string $code 用戶驗證碼
* @return bool 用戶驗證碼是否正確
*/
public static function check($code) {
isset($_SESSION) || session_start();
// 驗證碼不能為空
if(empty($code) || empty($_SESSION[self::$seKey])) {
return false;
}
// session 過期
if(time() – $_SESSION[self::$seKey][‘time’] self::$expire) {
unset($_SESSION[self::$seKey]);
return false;
}
if($code == $_SESSION[self::$seKey][‘code’]) {
return true;
}
return false;
}
}
// useage
/*
YL_Security_Secoder::$useNoise = false; // 要更安全的話改成true
YL_Security_Secoder::$useCurve = true;
YL_Security_Secoder::entry();
*/
/*
// 驗證驗證碼
if (!YL_Security_Secoder::check(@$_POST[‘secode’])) {
print ‘error secode’;
}
*/
這是效果
php中怎麼把文字加粗
找到路徑htdocs\statics\css然後修改文件default_lesolo.css
打開文件找到第十行:.keylink,.keylink:link,.keylink:hover,.keylink:active {text-decoration:underline;width:26px; height:22px; line-height:22px; background:#fff; border:1px dotted #aaa; text-align:center}
然後在「;」加入【font-weight:bold; color:#938953; text-decoration: none;】意思就是加粗、顏色為#938953、沒有下劃線。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/303891.html