php

使用WP-PostViews浏览次数插件获取指定文章浏览数

星期一, 十一月 26th, 2012 | php, wordpress | 没有评论

在自己调用文章的循环中,去调用次数的时候比较范畴,最终查到获取次说的方法:

一:直接获取指定id文章的展示次数:
WP-PostViews用custom field存储展示次数,此custom field调用值为views,只要获取views的值就可以了。

方法一:loop循环调用方法:

1
2
$post_views = intval(post_custom('views'));
echo ' - '$post_views.' views';

方法二:根据文章的postid,获取任意文章的展示次数

1
2
 $post_views = get_post_meta($post["ID"], 'views', true);
echo ' - '$post_views.' views';

二:顺便也记录下对应的调用函数
设置生效的前提:需要将插件提供模板标签the_views()写到模板中(index.php、single.php或者page.php等),该标签要写在循环(loop)内.
› Continue reading

Tags: , ,

Nginx的WordPress伪静态配置

星期日, 十一月 25th, 2012 | php, wordpress | 没有评论

Nginx的apache的伪静态配置:
找到到Nginx的配置文件,默认编译后的配置文件在/usr/local/nginx/conf/nginx.conf;
Ubuntu通过包安装的配置文件位于/etc/nginx/nginx.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
location / {
        index index.html index.php;
        if (-f $request_filename/index.html){
            rewrite (.*) $1/index.html break;
        }
        if (-f $request_filename/index.php){
            rewrite (.*) $1/index.php;
        }
        if (!-f $request_filename){
            rewrite (.*) /index.php;
        }
    }
    location ~ .*\.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
    }

注解:此配置考虑了目录下的索引文件index.html和index.php。
-f指令表示测试文件是否存在(不考虑文件和目录的区别),
!-f则表示不存在。
注意在重写url到index.html后面有个break,而重写到index.php后没有break。(可以根据自己的情况配置多个跳出操作等)
因为html文件不需要任何额外工作可以直接发送到客户端,所以重写规则在这里终止,下面就直接让nginx发送文件。
而.php文件需要进一步发送到fastcgi进程来运行,Nginx会继续判断该文件符合第二个部分location ~ .*\.php$的规则,并进行FastCGI的转发。
› Continue reading

Tags: , ,

移除wordpress中wp_head函数,头部28px空白

星期六, 十一月 24th, 2012 | php, wordpress | 没有评论

在使用管理员登录的时候总是发现网站顶部有一点空白,开始以为网站的插件问题,后来查到原来是管理员登录后的一个问题:

移除方法一:设置用户后台设置即可
用户登录后—–>登录后台—>在用户中心—->我的资料中—->取消“显示管理工具栏”中的相关选项,就可以了

方法二:修改代码 看到那个28px了吧,修改之即可
› Continue reading

Tags:

PHP语法容易忽略的问题小结

星期四, 十一月 1st, 2012 | linux, php | 没有评论

之前收藏的一个php常见的问题小结,挺不错的,在此摘录下.

1.PHP变量区分大小写,定义的函数、类名以及系统内置的函数和关键字不区分大写。

2.PHP结束标记“?>”前的那条语句的分号可省略,但不推荐。

3.注释:

      <? echo $a; #print $a ?><h1>something</h1>
     遇到php结束符号则#注释自动终结
 
     类似的:/*注释也是遇到php结束符号则注释自动终结
 
   上面的语法合法,但不推荐使用。
 
     /*ddddddd /*ffffff */  dddd */ 
    这样的注释嵌套导致出错,因为PHP视图执行“ffffff”。

4.类名stdClass被保留

5.define函数定义常量,常量引用时不加$

6.函数名和关键字不区分大小写

7.浮点数的值仅仅是数的近似表示,尽量避免假定浮点数是完全精确的,利用“==”比较浮点数时,通常将其移动若干位小数位置后比较。

     if( int($a * 1000) == int($b * 1000)).....//后移三位小数点并转换为整形后比较

8.

     $path='c:\\windows';echo  $path;打印:"c:\\windows"

9.资源(或称为句柄)实际上是整数,使用资源的好处是它会自动完成内存的管理,但最后一个对资源的引用销毁时,常见该资源的扩展被调用来为该资源释放所有内存,关闭所有连接等。函数中容易发现自动清空资源的好处,将资源指派给一个局部变量,当函数调用结束时,变量的值自动被php回收。例如:

             function   func1(){
 
                   $res = database_connect();database_query($res);
 
                   //退出函数时连接自动关闭
 
             }

尽管可用上面的方法,还是推荐显式的销毁资源。

10.可变变量(即变量的变量)

        $foo = 'abc';
        $$foo = 'xyz';//$abc的值 "xyz"

11.php中的变量引用:就是如何创建变量的别名。(用C中的指针理解要容易些)

         $a = & $b;    //$a和$b正向相同的内存区域。其一改变另一也改变,销毁其一不影响另一。
 
        函数利用引用可以传递参数(避免赋值大的字符串或数组)。例如:
 
       function  &ret_ref(){
                $var="php";//$var是大树组或者的字符串时效率比较高
                return $var;
       }
       $v = & ret_ref();

12.php中的局部变量只存在与函数中,循环、分支和块中的变量不是局部变量。函数为定义的变量为全局变量,函数内要访问全局变量必须声明为global,然后再使用(也可以使用笨方法,就是全局数组$GLOBALS)。

13.php使用“引用计数”和“写时复制”技术。

› Continue reading

Tags: ,

常用常用正则表达式集锦

星期一, 十月 29th, 2012 | JAVA-and-J2EE, linux, php | 没有评论

此处记录下,以后方便查找.

1.匹配中文字符

[\u4e00-\u9fa5]

2.匹配双字节字符(包括汉字)

[^\x00-\xff]

3.匹配空白行

\n\s*\r

4.匹配E-mail地址

\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

5.匹配网站URL地址

[a-zA-z]+://[^\s]*

6.匹配国内电话号码

\d{3}-\d{8}|\d{4}-\d{7}

7.匹配腾讯QQ号码

[1-9][0-9]{4,}

› Continue reading

Tags: , , , ,

解决远程连接mysql速度慢方法

星期日, 九月 30th, 2012 | Database, php | 没有评论

换个了mysql和 代码不在同一个机器上,开启远程连接mysql发现连接的速度好慢,总要加上加载网页的要2-3秒的时间,无法忍受;

在网上找了下原因,终于解决,方法还是挺简单的 .

在my.ini或者my.cnf 文件 的 [mysqld]处添加skip-name-resolve 重启即可

主要原因 是去跳过dns解析

1
2
3
4
5
[mysqld]
#dns cancel
skip-name-resolve
#grant cancel  no advocate (不提倡,此处跳过权限检查,即使更快)
skip-grant-tables

注意:1.skip-name-resolve 是禁用dns解析,可以大幅提升远程连接速度,副作用是不能使用 mysql的授权表中就不能使用主机名了,只能使用IP

2.对于要使用localhost的本机用户 要开启 127.0.0.1 给对应的用户权限,否则帐号无法连接,

本人的 root用户只开了localhost 的时候,发现不能连接上phpmyadmin,而后添加127.0.0.1的权限后,就一切正常了

3.skip-grant-tables 为跳过用户的对应的权限设置,即所有用户都是root权限,在特定的情况下使用吧.

Tags: , , , ,

php连接非默认端口(1433,3306)的连接函数参数写法.

星期五, 五月 25th, 2012 | php | 没有评论

使用php连接sqlserver 数据库,修改了端口非1433了:

更改了默认的1433端口号,则IP地址后面加端口号,用,号隔开,不是:号,如
$linkId = mssql_connect(‘IP地址,端口号’,’用户名’,’密码’);
值得注意的是mysql_connect使用的是:号
记忆下,在手册上也没有写清楚,真是麻烦.

Tags: ,

php判断常用上传文件类型,自动获取文件扩展名

星期四, 三月 29th, 2012 | php | 没有评论

在用php进行文件上传的时候总要判断文件的扩展名名等进行是否允许操作,经测试记录比较常用的文件类型,
记录如下,如有不全,希望能补正修改,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
switch    ($_FILES['userupfile']['type'])   
   {     
   case    "image/jpeg":     
   $fileextname    =    "jpg";     
   break;  
    case    "image/pjpeg":     
   $fileextname    =    "jpg";     
   break;    
   case    "image/gif":     
   $fileextname    =    "gif";     
   break;     
   case    "image/png":     
   $fileextname    =    "png";     
   break; 
   case    "image/x-png":     
   $fileextname    =    "png";     
   break; 
    case    "image/bmp":     
   $fileextname    =    "bmp";     
   break;    
   case    "application/x-shockwave-flash":     
   $fileextname    =    "swf";     
   break;     
   case    "text/plain":     
   $fileextname    =    "txt";     
   break;     
   case    "application/msword":     
   $fileextname    =    "doc";     
   break;     
   case    "application/x-zip-compressed":     
   $fileextname    =    "zip";     
   break; 
   case    "application/vnd.ms-excel":     
   $fileextname    =    "xls";     
   break; 
   case    "application/vnd.openxmlformats-officedocument.wordprocessingml.document":     
   $fileextname    =    "docx";     
   break; 
   case    "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":     
   $fileextname    =    "xlsx";     
   break; 
   case    "application/pdf":     
   $fileextname    =    "pdf";     
   break;   
 
   }

Tags: , , ,

apache的window配置PHP说明

星期二, 一月 24th, 2012 | php | 没有评论

可以都使用最新的版本,此处要注意的就是php的版本为vc6和thread safe,具体可以参看php的说明在左边的注释.
Apache 2.2.21 — www.apache.com
PHP 5.2.17 — www.php.net
MySQL — www.mysql.com
Zend Optimizer — www.zend.com
phpMyAdmin — www.phpmyadmin.net
严重注意:在进行下列操作前,Windows XP应无安装IIS、PHP、APACHE、MYSQL、ZEND。
≡ Apache 2.2.21的安装 ≡
打开我的电脑,进入D盘,在其下新建一个文件夹,名为 local 。
到其官方站点下载 httpd-2.2.21-win32-x86-openssl-0.9.8r.msi 并执行。
按3 次Next按钮,安装程序要求输入你的Network Domain(网络域名)、Server Domain(服务器域名)和网站管理员的E-mail,有的话就如实填写,本说明介绍的是本地自建测试环境,所以随便一下,前两个填 localhost ,邮件写自己的即可。
进入Next后,默认的安装路径是”C:\Program Files\Apache Software Foundation\Apache2.2\”,修改路径,改为前面所述的”D:\local\Apache2″。
然后一路下去,直到安装结束;此时,打开D盘下的local文件夹,可以看到有一个名为Apache2的文件夹。
打开IE,然后在地址栏输入:”http://localhost” 或者 “http://127.0.0.1” 可以看到Apache安装完成的成功页面;以后网页的存在位置就在 “D:\local\Apache2\htdocs” 目录。

≡ PHP 5.2.17 (VC6 x86 Thread Safe )的安装 ≡
› Continue reading

Tags: , , ,

apache伪静态.htaccess的写法和mod_rewrite规则修正符

星期日, 一月 8th, 2012 | disucz, php | 没有评论

apache 配置:
1.加载此模块(去掉前面的#即可):LoadModule rewrite_module modules/mod_rewrite.so
2.启用规则文件加载配置:
<Directory />
Options FollowSymLinks
#AllowOverride None
AllowOverride FileInfo
Order deny,allow
Deny from all
</Directory>
3.新建.htaccess 文件 配置如下文件
RewriteEngine on
RewriteRule list-(.*)-(.*)\.html$ list.php?id=$1&sa=$2 [L]

1、mod_rewrite 简介和配置
Rewirte主要的功能就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等

2、mod_rewrite 规则的使用
› Continue reading

Tags: , , , , ,

Search

文章分类

Links

Meta