当前位置:  编程技术>php
本页文章导读:
    ▪jquery中调用php json函数的方法分享      PHP 5.2版本之后,默认增加了一组针对数据进行JSON互转的函数: json_encode :数据到JSON json_decode() :JSON到PHP变量的转换 本文用一个实例讨论一下PHP 的JSON数据函数在jquery中的应用。 jquery中有.........
    ▪.htaccess设置显示PHP错误的方法分享      使用.htaccess更改PHP的错误显示的设置,相当于更改PHP.ini的参数,相当方便。 将以下代码放到对应目录中的.htaccess文件。 1,关闭错误显示 :   代码示例: php_flag display_startup_errors off php_flag d.........
    ▪php获取一年内的星期列表及每周起始时间的实例代码      用静态函数实现获取一年内的星期列表及每周起始时间,如下: <?php /** * func: getWeeks * 功能:获取一年内星期列表、每周起始时间 * 编辑:www. */ public static function getWeeks($format="second",$.........

[1]jquery中调用php json函数的方法分享
    来源: 互联网  发布时间: 2013-12-24

PHP 5.2版本之后,默认增加了一组针对数据进行JSON互转的函数:

json_encode :数据到JSON
json_decode() :JSON到PHP变量的转换

本文用一个实例讨论一下PHP 的JSON数据函数在jquery中的应用。

jquery中有一个方法:$.getJSON,这个用来从服务器脚本页面取得JSON格式的数据的。

首先,建立一个名为json.php的PHP脚本:

<?php 
//创建一个联合数组,这里我们尽量真实的模拟了一个从数据库中读取的记录 
$a=array('name'=>'dog','sex'=>'f','par'=>array('li','wang','lian')); 
$b=array('name'=>'pig','sex'=>'m','par'=>array('liv','wange','liang')); 
$array = array(0=>$a,1=>$b); 
//将数组转化为一个json数据串 
echo json_encode($array); //by www.
?>

前台页面jquery代码:

<script> 
$(document).ready(function(){ 
    $.getJSON( 
    'json.php', 
    function(data){ 
       var content="";         
       for(var i=0;i<data.length;i++){//循环读取后台的取得的JSON数据 
        content+=data[i].name; 
        var par="排挡:"; 
        for(var j=0;j<data[i].par.length;j++){//循环读取数据中的par集合 
            par+=data[i].par[j]+"、"; 
        } 
        content+=par+"<br/>"; 
      } 
    alert(content); 
    } 
   );     
}); 
</script>

本例在循环读取数据的时候应用了js的基本流程控制for循环方法,在jquery中也提供了一个遍历方法each,底层实现也是基于for循环的。
但按由于json_encode json_decode两个函数是在PHP5.2之后才有的,早于此前的版本使用将会报一个找不到json_encode函数的错误!

优化后的代码:

<?php
/*
 * 自定义my_json_encode函数
 * @params array $arr 欲转json的数组
 */
function my_json_encode($arr){
if (!function_exists('json_encode')){
return json_encode($arr);
}else{
require_once 'lib/json.class.php';
$json = new Services_JSON();
return $json->encode($arr);
}
}
?>

自定义一个my_json_encode函数,当php版本为5.2之前,找不到son_encode函数时,载入json.class.php类文件。
使用my_json_encode等价于json_encode。
附:json.class.php下载地址


    
[2].htaccess设置显示PHP错误的方法分享
    来源: 互联网  发布时间: 2013-12-24

使用.htaccess更改PHP的错误显示的设置,相当于更改PHP.ini的参数,相当方便。

将以下代码放到对应目录中的.htaccess文件。

1,关闭错误显示 :
 

代码示例:
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_value docref_root 0
php_value docref_ext 0

2,只显示PHP错误 :
 

代码示例:
php_flag  display_errors        on
php_flag  display_startup_errors on
php_value error_reporting        2047

其中,“2047”为要显示的错误的级别。
错误代码与错误类型的对应关系,如下:
 

代码示例:
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
64 E_COMPILE_ERROR
128 E_COMPILE_WARNING
256 E_USER_ERROR
512 E_USER_WARNING
1024 E_USER_NOTICE
2047 E_ALL
2048 E_STRICT
4096 E_RECOVERABLE_ERROR

3,把错误保存到日志文件中,可以这样设置:
 

代码示例:
# enable PHP error logging
php_flag  log_errors on
php_value error_log  /home/path/public_html/domain/PHP_errors.log

然后,可以设置不允许访问.log文件 :
 

代码示例:
# prevent access to PHP error log
<Files PHP_errors.log>
 Order allow,deny
 Deny from all
 Satisfy All
</Files>

设置错误日志的最大体积,以bytes为单位:
 

代码示例:
# general directive for
setting max error size
log_errors_max_len integer

4,.htaccess的PHP错误显示设置汇总 :
 

代码示例:

# PHP error handling for production servers
# disable display of startup errors
php_flag display_startup_errors off

# disable display of all other errors
php_flag display_errors off

# disable html markup of errors
php_flag html_errors off

# enable logging of errors
php_flag log_errors on

# disable ignoring of repeat errors
php_flag ignore_repeated_errors off

# disable ignoring of unique source errors
php_flag ignore_repeated_source off

# enable logging of php memory leaks
php_flag report_memleaks on

# preserve most recent error via php_errormsg
php_flag track_errors on

# disable formatting of error reference links
php_value docref_root 0

# disable formatting of error reference links
php_value docref_ext 0

# specify path to php error log
php_value error_log /home/path/public_html/domain/PHP_errors.log

# specify recording of all php errors
php_value error_reporting 999999999

# disable max error string length
php_value log_errors_max_len 0

# protect error log by preventing public access
<Files /home/path/public_html/domain/PHP_errors.log>
 Order allow,deny
 Deny from all
 Satisfy All
</Files>

5,附适合开发者应用的设置:
 

代码示例:

# PHP error handling for
development servers
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value docref_root 0
php_value docref_ext 0
php_value error_log /home/path/public_html/domain/PHP_errors.log
php_value error_reporting 999999999
php_value log_errors_max_len 0

<Files /home/path/public_html/domain/PHP_errors.log>
 Order allow,deny
 Deny from all
 Satisfy All
</Files>

以上介绍了几种不同情况下,通过.htaccess设置显示PHP错误来控制PHP错误是否显示的方法,简便好用,建议朋友们试试。


    
[3]php获取一年内的星期列表及每周起始时间的实例代码
    来源: 互联网  发布时间: 2013-12-24

用静态函数实现获取一年内的星期列表及每周起始时间,如下:

<?php
/**
* func: getWeeks
* 功能:获取一年内星期列表、每周起始时间
* 编辑:www.
*/
public static function getWeeks($format="second",$year=null){
 if($year == null){
    $year=date('Y');
 }
 $second_of_day = 24*3600;
 $year_start = $year . "-01-01 00:00:00"; 
 $year_end = $year . "-12-31 23:59:59"; 
 $startday = strtotime($year_start); 
 $day_of_week = date('N', $startday);
 $first_week_start=$startday;
 $first_week_end = $startday+(7-$day_of_week)*$second_of_day+$second_of_day-1;
 $week_array[0]=array($first_week_start,$first_week_end);
 
 $endday = strtotime($year_end); 
 $day_of_week = date('N', $endday);

 $last_week_start=$endday-$day_of_week*$second_of_day+1;
 $last_week_end = $endday;
 $last_week=array($last_week_start,$last_week_end);
 
 $during = $last_week_start - $first_week_end;
 
 $during_total_week = intval($during/(7*$second_of_day));
 
 for($i=0;$i<$during_total_week;$i++){
  $week_array[$i+1]=array($first_week_end+(7*$i*$second_of_day)+1,$first_week_end+(($i+1)*$second_of_day*7));
 }
 
 $week_array[$during_total_week+1]=$last_week;
 
 if($format !="second"){
  foreach($week_array as $i => $week){
  $week_array_of_date_format[$i]=array(date($format,$week[0]),date($format,$week[1]));
  }
  return $week_array_of_date_format;
 }
 
 return $week_array;
}
?>

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3