PHP 数组合并 + 与 array_merge 的区别

这是个小知识点,但是爱忘记,我都找过几次了,特此烂笔头:

 

+ :

首先出现的会覆盖后出现的

 

array_merge:

后出现的会覆盖前面出现的。但是如果是数字索引,则是叠加效果。

 

示例:

$array1 = Array(
    0 => 111
);
 
$array2 = Array(
    0 => 222,
    1 => 3333
);
 
array_merge 后:
Array
(
    [0] => 111
    [1] => 222
    [2] => 3333
)
 
+ 后:
Array
(
    [0] => 111
    [1] => 3333
)

 

$array1 = Array(
    0 => 111
);
 
$array2 = Array(
    'h' => 222,
    1 => 3333
);
array_merge 和 + 的结果是一样:
Array
(
    [0] => 111
    [h] => 222
    [1] => 3333
)

 

参见:

http://www.isyang.net/html/y2011/194.html

Continue reading PHP 数组合并 + 与 array_merge 的区别

wordpress , 怎样直接请求插件代码

 

在wordpress插件中有些页面需要http可以访问,例如ajax,restful service。

最简单的方法是引用wp-config.php这个文件。

但是这样做也有局限性:

wordpress2.6之后,允许移动wp-conetent文件夹(http://willnorris.com/2009/05/wordpress-plugin-pet-peeve-hardcoding-wp-content),wp-config.php也不一定就在站点根目录下,所以你的引用代码可能不适合所有wordpress站点。

 

 

第二种方法则是较为简单:使用parse_request

通过parse_request这个action来在wordpress流程之前处理请求,并且使用exit来终止后续默认的wordpress处理。

示例代码:

name="code" class="php:firstline[1]">function my_plugin_parse_request($wp) { // only process requests with "my-plugin=ajax-handler" if (array_key_exists('my-plugin', $wp->query_vars) && $wp->query_vars['my-plugin'] == 'ajax-handler') { header('Content-Type: text/plain'); global $wp; if(isset($wp)){ echo "got wp"; // print_r($wp);

Continue reading wordpress , 怎样直接请求插件代码

bind live delegate on 用那个好 JQuery

bind是直接绑定到元素上。

live,delegate,on都是可以采取冒泡的方式来判断,例如这样用:

$(document).live

$(document).delegate

$(document).on

这样做的好处是:

1:不需要每个元素都绑定事件,性能上较好。

2:不需要在绑定时间时就要求监听事件元素就存在,看下面的例子:

     $('#ul1 li').bind('click', f1); //会丢掉#ali

    $('#ul1 li').live('click', f1);  //会丢掉#ali
    $('#ul1').on('click','li', f1);
    $(document).on('click','li', f1);
    $('#ul1').append('<li id="ali">Last item</li>');       

可知第一第二种方式就会丢掉#ali上的点击事件。

 

到底用哪个好,这个可从JQuery的文档中直接找到答案:on比bind好,on是live/delegate的替代.

所以推荐使用on

 

参见:

http://developer.51cto.com/art/201103/249694.htm

Continue reading bind live delegate on 用那个好 JQuery

apache mod_fcgid: HTTP request length xxx (so far) exceeds MaxRequestLen xxx 问题解决

此错误显然与fcgid有关,需在apache中欧配置

<IfModule mod_fcgid.c>
  AddHandler    fcgid-script .fcgi
  FcgidConnectTimeout 20
# to get around upload errors when uploading images increase the MaxRequestLen size to 15MB
  MaxRequestLen 15728640
</IfModule>

 

参见:

http://blog.wu-boy.com/2012/06/fix-apache-mod_fcgid-http-request-length-136000-so-far-exceeds-maxrequestlen/

Continue reading apache mod_fcgid: HTTP request length xxx (so far) exceeds MaxRequestLen xxx 问题解决

【转】最值得一看的几条简单的谷歌 Google 搜索技巧,瞬间提升你的网络搜索能力!

转自 http://www.iplaysoft.com/get-more-out-of-google.html

 

可能你和我一样,几乎每天都必须与搜索引擎打交道,不过很多时候,你辛辛苦苦搜了半天也没找到合适的资料,然而“高手们”上来一眨眼功夫就能命中目标了。这并不是别人运气好,而是搜索引擎其实是有很多技巧可以帮助你更好地找到想要内容的。

不过,据说超过3/4的人都没有较好地利用起网络搜索。所以今天在这跟大家分享一张非常有价值的信息图,它以Google 谷歌搜索引擎为例子,介绍了几个相当实用的搜索技巧,非常简单,但绝对能瞬间提高你的搜索功力!有效地利用谷歌来为你工作不但能提高你的效率,日常生活也会方便许多,相信大家一定深有体会了……

信息图 - 从谷歌搜索获得更多:

google

Continue reading 【转】最值得一看的几条简单的谷歌 Google 搜索技巧,瞬间提升你的网络搜索能力!

禁止worpdress评论中的html标记

方法一:

使用插件Peter’s Literal Comments

 

方法二:

在theme的function.php中加入下代码:

function disable_html_in_comments()
{
    global $allowedtags;
    $allowedtags = array();
}
disable_html_in_comments();

如果要允许某些tag例如A则这样;

function disable_html_in_comments()
{
    global $allowedtags;
    $allowedtags = array(
        'a' => array(
            'href' => array (),
            'title' => array ()
        )
    );
}
disable_html_in_comments();

 

参见:

http://betterwp.net/wordpress-tips/disable-html-in-comments-entirely/

Continue reading 禁止worpdress评论中的html标记

php session 相关问题

两篇较好的文章:

http://www.nowamagic.net/php/php_SessionPrinciple.php

http://hi.baidu.com/kkwtre/item/75a0209c314a0cdb1a49df59

http://php.net/manual/en/function.session-start.php

 

默认session是使用的文件系统,使用之前都应该先调用session_start()来准备。

session_name()是获得/设置session对应的cookie名(用于存储sessionid)

session_id()适用于获得/设置session的id

 

使用步骤:

name="code" class="php:firstline[1]"><?php session_start();

Continue reading php session 相关问题

【转】PHP 页面访问控制的3种方法

转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/apachenginx/1051.html

 

我们经常会看到这种现象,看下图

apache 页面访问控制

apache 页面访问控制

为什么要进行这样的控制呢,给不同的人看不同的东西,对信息进行保护,虽然这种保护比较低级,多多少少还是有点用的。

一,用htpasswd命令,产生权限控制文件

查看复制打印?

  1. [[email protected] test]$ htpasswd -c ./access tank  //生成一个密码文件 ,-c是新建一个文件  htpasswd -h可查看
  2. New password:            //提示输入密码
  3. Re-type new password:        //重复密码
  4. Adding password for user tank 
  5. [[email protected] test]$ cat access    //查看一下密码文件
  6. tank:Uj5B3qIF/BNdI      //用户名是明文的,密码是加密的。

到这儿密码文件是生成好了。

二,页面访问控制方法

1,能过修改httpd.conf或者是httpd-vhosts.conf来进行配置

查看复制打印?

  1. listen 10004 
  2. NameVirtualHost *:10004 
  3. <VirtualHost *:10004> 
  4. DocumentRoot "/home/zhangy/www/test"
  5. ServerName *:10004 
  6. BandwidthModule On 
  7. ForceBandWidthModule On 
  8. Bandwidth all 1024000 
  9. MinBandwidth all 50000 
  10. LargeFileLimit * 500 50000 
  11. MaxConnection all 2 
  12. ErrorLog "/home/zhangy/apache/blog.51yip.com.com-error.log"
  13. CustomLog "/home/zhangy/apache/blog.51yip.com-access.log" common 
  14. //看一下,下面的配置
  15. <Directory /home/zhangy/www/test> 
  16. AuthType Basic 
  17. AuthName "access test"
  18. AuthUserFile /home/zhangy/www/test/access 
  19. Require valid-user 
  20. </Directory> 
  21. </VirtualHost> 

2,我们可以利用.htaccess文件来进行控制

在test的根目录下面建一个.htaccess的文件

查看复制打印?

  1. [[email protected] test]$ vi .htaccess   //打开个文件 ,添加权限内容
  2. [[email protected] test]$ cat .htaccess  //下面就是.htaccess的内容
  3. AuthType Basic 
  4. AuthName "access test"
  5. AuthUserFile /home/zhangy/www/test/access 
  6. Require valid-user 

如果要给很多人设置不同的用户名和密码,使用AuthGroupFile设置选项比较方便

3,不用密码文件,也可以进行访问控制

查看复制打印?

  1. define('ADMIN_USERNAME','tank');     // Admin Username
  2. define('ADMIN_PASSWORD','tank');      // Admin Password
  3. //log check
  4. if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']) || 
  5. $_SERVER['PHP_AUTH_USER'] != ADMIN_USERNAME ||$_SERVER['PHP_AUTH_PW'] != ADMIN_PASSWORD) { 
  6. Header("WWW-Authenticate: Basic realm=\"access test\""); 
  7. Header("HTTP/1.0 401 Unauthorized"); 
  8. echo <<<EOB 
  9. <html><body> 
  10. <h1>Rejected!</h1> 
  11. <big>Wrong Username or Password!</big> 
  12. </body></html> 
  13. EOB; 
  14. exit; 

上面用的是php的方法,其他语言我想也有。您可以把上面的这段代码写成一个文件,进行共用包涵,也可以把它封装到底基,这样不管访问什么页面,都可以进行访问控制。

 

PS:

.htaccess文件需要主配置的配合,如果有冲突就不行

PHP_AUTH_USER方式也不靠谱,因为有些cgi环境就不行,详见http://php.net/manual/en/features.http-auth.php

我的fastcgi环境就得不到用户的输入,HTTP_AUTHORIZATION也得不到。

Continue reading 【转】PHP 页面访问控制的3种方法

Pagination


Total views.

© 2013 - 2019. All rights reserved.

Powered by Hydejack v6.6.1