WordPress分页插件WP-PageNavi手工安装方法

WordPress logo

WP-PageNavi是WordPress的一个分页插件。WordPress自身也有翻页功能,但是过于简单,只能前后翻页。因此对读者来说有时会造成阅读障碍,而安装 WP-PageNavi 之后就可以解决这一问题。当你的Blog文章数比较多的时候,就可以直接跳到某页去,而不用一页一页的点击。

对于不支持WP-PageNavi插件的主题,我们可以采用手工安装的方法:

阅读更多

PHP搭建百万级网站架构揭秘

今天我们来了解一个百万级PHP站点的网站架构:Poppen.de。Poppen.de是德国的一个社交网站,相对Facebook、Flickr来说是一个很小的网站,但它有一个很好的架构,融合了很多技术,如 Nginx、MySql、CouchDB、Erlang、Memcached、RabbitMQ、PHP、Graphite、Red5以及Tsung。

阅读更多

用PHP实现验证码功能

先看看调用方法:

<img id="vcodeimages" src="vcodeimages.php"
 onclick="this.src='vcodeimages.php?t='+Math.random()"
 style="cursor:pointer;" alt="点击刷新验证码" />

 

上面的代码中,img标签的src指向了一个名为vcodeimages.php的文件,这个文件就是负责实现生成验证码图片的PHP程序,下面我们看看vcodeimages.php文件的代码,也是验证码的实现方法:

<?php
session_start();
header("Content-type: image/png");
$VerifyCode     = "";
$im             = ImageCreate(50, 20); //开始创建图形
$color_bg       = ImageColorAllocate($im, 255, 255, 255); //定义背景颜色
$color_font     = ImageColorAllocate($im, 0, 0, 0); //定义文字颜色
$color_pixel    = ImageColorAllocate($im, 0, 0, 0); //定义干扰像素颜色
for($i=0; $i<4; $i++) { //加入随机数
    $RandNum = strval(mt_rand("1", "9"));
    $VerifyCode .= $RandNum;
    ImageString($im, 5, ($i * 11) + 4, 2, $RandNum, $color_font);
}
for($i=0; $i<200; $i++) { //加入干扰象素
    ImageSetPixel($im, rand() % 70, rand() % 30, $color_pixel);
}
$_SESSION["VerifyCode"] = $VerifyCode; //将验证码存入Session
ImagePNG($im); //以PNG格式建立图形
ImageDestroy($im); //结束创建图形
?>

 

阳光部落原创,更多内容请访问 http://www.sunbloger.com/

分享一个PHP的远程图片抓取函数

下面的代码是一个PHP的远程图片抓取函数:

<?php
/**
 * 抓取远程图片
 * 
 * @param string $url 远程图片路径
 * @param string $filename 本地存储文件名
 */
function grabImage($url, $filename = '') {
    if($url == '') {
        return false; //如果 $url 为空则返回 false;
    }
    $ext_name = strrchr($url, '.'); //获取图片的扩展名
    if($ext_name != '.gif' && $ext_name != '.jpg' && $ext_name != '.bmp' && $ext_name != '.png') {
        return false; //格式不在允许的范围
    }
    if($filename == '') {
        $filename = time().$ext_name; //以时间戳另起名
    }
    //开始捕获
    ob_start();
    readfile($url);
    $img_data = ob_get_contents();
    ob_end_clean();
    $size = strlen($img_data);
    $local_file = fopen($filename , 'a');
    fwrite($local_file, $img_data);
    fclose($local_file);
    return $filename;
}
?>

详解PHP中include和require的区别

PHP
1.报错
include引入文件时,如果遇到错误,会报出Warning,并继续执行后面的代码;
require引入文件时,如果遇到错误,会报出Error,并停止运行后面的代码。

举例说明,创建两个名为 test-include.php 和 test-require.php 的PHP文件,
注意相同的目录中,不要存在一个名字是test-nothing.php的文件。
test-include.php

<?php
include 'test-nothing.php'; //包含一个不存在的文件
echo 'abc';
?>

test-require.php

<?php
require 'test-nothing.php'; //包含一个不存在的文件
echo 'abc';
?>

阅读更多

PHP 5.3.6 版本发布

PHP

近日PHP 5.3.6 版本已经发布。

该版本修复了60多个bug,其中很多是安全相关问题。

安全性增强和bug修复如下:

* Enforce security in the fastcgi protocol parsing with fpm SAPI.

* Fixed bug #54247 (format-string vulnerability on Phar). (CVE-2011-1153)

* Fixed bug #54193 (Integer overflow in shmop_read()). (CVE-2011-1092)

阅读更多

PHP程序员10种最易犯的错误

PHP
  PHP是个伟大的web开发语言,灵活的语言,但是看到php程序员周而复始的犯的一些错误。我做了下面这个列表,列出了PHP程序员经常犯的10中错误,大多数和安全相关。看看你犯了几种

  1.不转意html代码

  一个基本的常识:所有不可信任的输入(特别是用户从form中提交的数据) ,输出之前都要转意。

  echo $_GET[‘usename’] ;

  这是一个明显的安全隐患,除非你保证你的用户都正确的输入。

阅读更多

如何为博客选择可以盈利的主题

Blog

  1、你对所选主题是否感兴趣?

  有很多新手,在搭建博客后都会迷惑,我该写什么内容?而每次我也都回答:在考虑你博客应该写什么主题时,最好先想一下你自己都和什么有关。

  换句话说,在筛选主题时,你应该从认识自己的兴趣、热情和爱好开始。虽然说基于其他人的兴趣点或商业价值来建立博客似乎更有诱惑力,但建立一个自己并不感兴趣的博客绝对是不合逻辑的,千万不要跟风。

阅读更多