使用PHP的GD库输出图像不显示问题

使用PHP中的GD库绘制图像,之后浏览器无法显示,GD库安装,配置也没什么错误,提示图像因本身有错无法显示。直接在header() 前面使用ob_clean()浏览器就能正常的浏览了。

<?php

$height = 600;
$width = 600;
$im = imagecreatetruecolor($width, $height);
$white = imagecolorallocate ($im, 255, 255, 255);
$blue = imagecolorallocate ($im, 0, 0, 64);
imagefill($im, 0, 0, $blue);
imagestring($im, 10, 100, 120, ‘Hello,PHP’, $white);
ob_clean();
header (‘Content-type: image/png’);
imagepng($im);
imagedestroy($im);

?>

  • ob_get_contents() – 返回输出缓冲区的内容
  • ob_flush() – 冲刷出(送出)输出缓冲区中的内容
  • ob_clean() – 清空(擦掉)输出缓冲区
  • ob_end_flush() – 冲刷出(送出)输出缓冲区内容并关闭缓冲
  • ob_end_clean() – 清空(擦除)缓冲区并关闭输出缓冲
  • flush() – 刷新输出缓冲  判断php的GD库是否安装,使用函数fnction_exists()。

    if(function_exists(‘imagecreate’)){echo”已成功安装GD库”;}

发表在 其它 | 使用PHP的GD库输出图像不显示问题已关闭评论

相同字段或多个字段SQL查询存在一个表而不在另一个表中的数据

1、方法一(仅适用单个字段):使用 not in ,比较容易理解,缺点是效率低

如:select A.ID from A where A.ID not in (select ID from B);

2、方法二(适用多个字段匹配):使用 left join…on… , “B.ID isnull” 表示左连接之后在B.ID 字段为 null的记录。

如:select A.ID from A left join B on A.ID=B.ID where B.ID is null ;

3、方法三(适用多个字段匹配)

如:select * from B where (select count(1) as num from A where A.ID = B.ID) = 0;

4、方法四(适用多个字段匹配)

如:select * from A where not exists(select 1 from B where A.ID=B.ID)

发表在 网站运营 | 相同字段或多个字段SQL查询存在一个表而不在另一个表中的数据已关闭评论

php验证密码的复杂性

/**
* 检查密码复杂度
*/
public function checkPassword($pwd) {
if ($pwd == null) {
return [‘code’ => 0, ‘data’ => ”, ‘msg’ => ‘密码不能为空’];
}
$pwd = trim($pwd);
if (!strlen($pwd) >= 6) {//必须大于6个字符
return [‘code’ => 0, ‘data’ => ”, ‘msg’ => ‘密码必须大于6字符’];
}
if (preg_match(“/^[0-9]+$/”, $pwd)) { //必须含有特殊字符
return [‘code’ => 0, ‘data’ => ”, ‘msg’ => ‘密码不能全是数字,请包含数字,字母大小写或者特殊字符’];
}
if (preg_match(“/^[a-zA-Z]+$/”, $pwd)) {
return [‘code’ => 0, ‘data’ => ”, ‘msg’ => ‘密码不能全是字母,请包含数字,字母大小写或者特殊字符’];
}
if (preg_match(“/^[0-9A-Z]+$/”, $pwd)) {
return [‘code’ => 0, ‘data’ => ”, ‘msg’ => ‘请包含数字,字母大小写或者特殊字符’];
}
if (preg_match(“/^[0-9a-z]+$/”, $pwd)) {
return [‘code’ => 0, ‘data’ => ”, ‘msg’ => ‘请包含数字,字母大小写或者特殊字符’];
}
return [‘code’ => 1, ‘data’ => ”, ‘msg’ => ‘密码复杂度通过验证’];
}

发表在 网站运营 | php验证密码的复杂性已关闭评论

安卓手机web震动效果js代码

<!DOCTYPE html>
<html>
<head>
<meta charset=”gbk” />
<meta name=”viewport” content=”initial-scale=1.0, width=device-width, user-scalable=no” />
<meta name=”apple-mobile-web-app-capable” content=”yes” />
<title>安卓手机web震动效果js代码</title>
<style type=”text/css”>
body {
background: #E9E9E9;
color: #333;
font: 1em/1.3em “Helvetica Neue”, Helvetica, Arial, Verdana, sans-serif; /* 16px / 21px */
text-shadow: rgba(255,255,255,0.8) 0 1px 0;
text-align: center;
}
</style>

</head>
<body>
<h2>进入页面之前震动2次</h2>
<br><br><br><br>
<h2>摇一摇震动3次</h2>

<script>
//进入页面单纯震动
navigator.vibrate(2000) // 震动2s
window.navigator.vibrate([1000,1000,1000,1000]);
//震动结束

//运动事件监听
if (window.DeviceMotionEvent) {
window.addEventListener(‘devicemotion’,deviceMotionHandler,false);
}

//获取加速度信息
//通过监听上一步获取到的x, y, z 值在一定时间范围内的变化率,进行设备是否有进行晃动的判断。
//而为了防止正常移动的误判,需要给该变化率设置一个合适的临界值。
var SHAKE_THRESHOLD = 4000;
var last_update = 0;
var x, y, z, last_x = 0, last_y = 0, last_z = 0;
function deviceMotionHandler(eventData) {
var acceleration =eventData.accelerationIncludingGravity;
var curTime = new Date().getTime();
if ((curTime-last_update)> 10) {
var diffTime = curTime -last_update;
last_update = curTime;
x = acceleration.x;
y = acceleration.y;
z = acceleration.z;
var speed = Math.abs(x +y + z – last_x – last_y – last_z) / diffTime * 10000;
if (speed > SHAKE_THRESHOLD) {
alert(“摇一摇开始震动啦!”); // Do something
//开始震动
navigator.vibrate(2000) // 震动2s
window.navigator.vibrate([1000,1000,1000,1000,1000]);
//震动结束
}
last_x = x;
last_y = y;
last_z = z;
}
}
</script>
</body>
</html>

发表在 优化推广 | 安卓手机web震动效果js代码已关闭评论

php while循环自动生成表格

<?php

$query = “select * from table order by id asc”;// 从数据库中读取数据
$result=mysql_query($query);

echo ‘<table width=”96%” border=”1″ align=”center” cellpadding=”1″ cellspacing=”1″>’;
echo ‘<caption>本月</caption>’;
$i=0;
while($row=mysql_fetch_row($result))
{
if($i%10==0){ //行数。
if($i%20==0){ //单双行颜色
$bg=”#ffffff”;
}else{
$bg=”#cccccc”;
}
echo ‘<tr bgColor=”‘.$bg.'”>’;
}
echo ‘<td>’.$row[1].'</td>’; //表格写入值。
$i++; //执行条件增变。
if($i%10==0){
echo ‘</tr>’;
}
}
echo ‘</table>’;

?>

发表在 网站运营 | php while循环自动生成表格已关闭评论