hessian php安装配置与使用方法

 更新时间:2016年11月25日 15:39  点击:2093
hessian php可以以http的方式和其他的语言交换数据了,下面我我们一起来看看hessian php安装配置与使用方法,希望对各位有帮助。

下载HessianPHP_v2.0.3.zip
下载地址:http://sourceforge.net/projects/hessianphp/
(不要使用HessianPHP-1.0.5-RC2.zip, 2006年后没有更新了,不支持php5.2以后,及最新hessian协议.
注意:需要注意服务器端发布的hessian协议版本,客户端要与之对应.)
 
使用例子在:HessianPHP_v2.0.3.zipquickstart.txt
http://localhost/mathService.php  ——–>访问该url时才在服务器端发布hessian.
http://localhost/mathClient.php  ———>客户端
其中,涉及三个文件:
Math.php

 代码如下 复制代码
<?php
class Math{
 function add($n1,$n2) {      
   return $n1+$n2;  
 }  
 function sub($n1,$n2) {      
   return $n1-$n2;  
 }  
 function mul($n1,$n2) {      
   return $n1*$n2;  
 }  
 function div($n1,$n2) {      
   return $n1/$n2;  
 }
}
==========================
mathService.php
<?php
include_once ‘Math.php’;
include_once ‘hessianphp/HessianService.php’;
$service = new HessianService(new Math());
$service->handle();
==========================
mathClient.php
<?php
include_once ‘hessianphp/HessianClient.php’;
$testurl = ‘http://localhost/yii/testdrive/mathService.php’;
$proxy = new HessianClient($testurl);
try{
   echo $proxy->div(2,5);
} catch (Exception $ex){
  // …handle error
  echo $ex->getMessage();
}

另外,在运行的时候,需要打开php的CURL扩展:C:xamppphpphp.ini
extension=php_curl.dll

ssl安全验证


修改hessianphp包中的HessianTransport.php文件中的51行$curlOptions数组,增加CURLOPT_USERPWD => “SSL验证的用户名:密码”和CURLOPT_SSL_VERIFYPEER =>FALSE,CURLOPT_SSL_VERIFYHOST=>FALSE三项。

今天看到这篇文章想我想到了几年前帮助一个客户做一个网站,那种要求里面就有一个宽度不足够时需要自动给图片生成白边了,下面我看到一个不错的例子整理一下给各位。

网站上传图片后生成缩略图应该是非常常用的功能了,通常来讲为了网站显示美观,缩略图会是同样尺寸,比如最近笔者做的一个站点,缩略图规格要求都是160×120。但是如果上传的图片比例和缩略图不一致,直接缩放的话就会导致图片变形,这样体验肯定就不好了。于是笔者想了一个折中的办法,就是缩小后添加白边的方法。

源图,尺寸是600×366:

php生成缩略图源图

最终生成的缩略图

最终生成的缩略图
代码相对比较长些,下面简单说下思路:

先将源图按比例生成缩略图,并且宽不大于160、高不大于120。例如上图会先生成160×98的缩略图。
新建一个160×120的白色背景图片,将上一步生成的缩略图居中放置到这张图片上就OK了。

 代码如下 复制代码

//源图的路径,可以是本地文件,也可以是远程图片
$src_path = '1.jpg';
//最终保存图片的宽
$width = 160;
//最终保存图片的高
$height = 120;
 
//源图对象
$src_image = imagecreatefromstring(file_get_contents($src_path));
$src_width = imagesx($src_image);
$src_height = imagesy($src_image);
 
//生成等比例的缩略图
$tmp_image_width = 0;
$tmp_image_height = 0;
if ($src_width / $src_height >= $width / $height) {
    $tmp_image_width = $width;
    $tmp_image_height = round($tmp_image_width * $src_height / $src_width);
} else {
    $tmp_image_height = $height;
    $tmp_image_width = round($tmp_image_height * $src_width / $src_height);
}
 
$tmpImage = imagecreatetruecolor($tmp_image_width, $tmp_image_height);
imagecopyresampled($tmpImage, $src_image, 0, 0, 0, 0, $tmp_image_width, $tmp_image_height, $src_width, $src_height);
 
//添加白边
$final_image = imagecreatetruecolor($width, $height);
$color = imagecolorallocate($final_image, 255, 255, 255);
imagefill($final_image, 0, 0, $color);
 
$x = round(($width - $tmp_image_width) / 2);
$y = round(($height - $tmp_image_height) / 2);
 
imagecopy($final_image, $tmpImage, $x, $y, 0, 0, $tmp_image_width, $tmp_image_height);
 
//输出图片
header('Content-Type: image/jpeg');
imagejpeg($final_image);

下面来给大家介绍一个php中UTF8字符串进行单字分割返回数组(包含中文),这个例子非常的不错,测试了很多篇都非常的完美的解决字符串是uft8并且有中文时不出乱码哦。
 代码如下 复制代码


$tempaddtext="php对UTF8字体串进行单字分割返回数组";
  
$cind = 0;
$arr_cont = array();
for ($i = 0; $i < strlen($tempaddtext); $i++) {
if (strlen(substr($tempaddtext, $cind, 1)) > 0) {
 if (ord(substr($tempaddtext, $cind, 1)) < 192) {
if (substr($tempaddtext, $cind, 1) != " ") {
 array_push($arr_cont, substr($tempaddtext, $cind, 1));
}
$cind++;
 } elseif(ord(substr($tempaddtext, $cind, 1)) < 224) {
array_push($arr_cont, substr($tempaddtext, $cind, 2));
$cind+=2;
 } else {
array_push($arr_cont, substr($tempaddtext, $cind, 3));
$cind+=3;
 }
}
 }
  
print_r($arr_cont);

返回结果

Array
(
    [0] => p
    [1] => h
    [2] => p
    [3] => 对
    [4] => U
    [5] => T
    [6] => F
    [7] => 8
    [8] => 字
    [9] => 体
    [10] => 串
    [11] => 进
    [12] => 行
    [13] => 单
    [14] => 字
    [15] => 分
    [16] => 割
    [17] => 返
    [18] => 回
    [19] => 数
    [20] => 组
)

session过期时间在大多数据情况下我们是设置默认的时间,如果我们有一些特殊的要求可以设置一下session过期时间了,下面我整理了在使用session中一些问题与解决方法,希望例子对各位会有帮助。

在PHP中,设置php.ini,找到session.gc_maxlifetime = 1440 #(PHP5默认24分钟)

这里你可以随便设置一下过期时间.但是有人说设置以后,好象不起作用!

其实不是不起作用,而是因为系统默认:

session.gc_probability = 1

session.gc_divisor = 1000

garbage collection 有个概率的,1/1000就是session 1000次才有一次被回收。

只要你的访问量大了,那就能达到回收的效果.

要不然你也可以设置一下session.gc_divisor 的值,

比如:session.gc_divisor = 1,这样就能明显的看到SESSION过期的效果了.


我们最常用的是在php程序中设置

 代码如下 复制代码

<?php
if(!isset($_SESSION['last_access'])||(time()-$_SESSION['last_access'])>60)
 $_SESSION['last_access'] = time();
?>

这样就搞定了,如果要设置过期的话也可以在程序中实例

<?php
unset($_SESSION['last_access']) 或 $_SESSION['last_access']='';
?>

session有过期的机制

session.gc_maxlifetime 原来session 过期是一个小概率的事件,分别使用session.gc_probability和session.gc_divisor 来确定运行session 中gc 的概率 session.gc_probability和session.gc_divisor的默认值分别为 1和100

分别为分子和分母 所以session中gc的概率运行机会为1% 。如果修改这两个值,则会降低php的效率。所以这种方法是不对的!!

所以,修改php.ini文件中的gc_maxlifetime变量就可以延长session的过期时间了:(例如,我们把过期时间修改为86400秒)

 代码如下 复制代码

session.gc_maxlifetime = 86400

然后,重启你的web服务(一般是apache)就可以了。

session“回收”何时发生?

默认情况下,每一次php请求,就会有1/100的概率发生回收,所以可能简单的理解为“每100次php请求就有一次回收发生”。这个概率是通过以下参数控制的

 代码如下 复制代码

#概率是gc_probability/gc_divisor
session.gc_probability = 1
session.gc_divisor = 100

注意1:假设这种情况gc_maxlifetime=120,如果某个session文件最后修改时间是120秒之前,那么在下一次回收(1/100的概率)发生前,这个session仍然是有效的。

注意2:如果你的session使用session.save_path中使用别的地方保存session,session回收机制有可能不会自动处理过期session文件。这时需要定时手动(或者crontab)的删除过期的session:cd /path/to/sessions; find -cmin +24 | xargs rm


PHP中的session永不过期


不修改程序是最好的方法了,因为如果修改程序,测试部一定非常郁闷像我一样,那么只能修改系统环境配置,其实很 简单,打开php.ini设置文件,修改三行如下:

1、session.use_cookies
把这个的值设置为1,利用cookie来传递sessionid

2、session.cookie_lifetime
这个代表SessionID在客户端Cookie储存的时间,默认是0,代表浏览器一关闭SessionID就作废……就是因为这个所以PHP的 session不能永久使用! 那么我们把它设置为一个我们认为很大的数字吧,999999999怎么样,可以的!就这样。

3、session.gc_maxlifetime
这个是Session数据在服务器端储存的时间,如果超过这个时间,那么Session数据就自动删除! 那么我们也把它设置为99999999。

就这样一切ok了,当然你不相信的话就测试一下看看——设置一个session值过个10天半个月的回来看看,如果你的电脑没有断电或者宕机,你仍 然可以看见这个sessionid。

当然也可能你没有控制服务器的权限并不能像我一样幸运的可以修改php.ini设置,一切依靠我们自己也是有办法的,当然就必须利用到客户端存储 cookie了,吧得到的sessionID存储到客户端的cookie里面,设置这个cookie的值,然后把这个值传递给session_id()这 个函数,具体做法如下:

 代码如下 复制代码

<?php
session_start(); // 启动Session
$_SESSION['count']; // 注册Session变量Count
isset($PHPSESSID)?session_id($PHPSESSID):$PHPSESSID = session_id();
// 如果设置了$PHPSESSID,就将SessionID赋值为$PHPSESSID,否则生成SessionID
 
$_SESSION['count']++; // 变量count加1
setcookie('PHPSESSID', $PHPSESSID, time()+3156000); // 储存SessionID到Cookie中
echo $count; // 显示Session变量count的值
?>

session 失效不传递


我们先写个php文件:<?=phpinfo()?>, 传到服务器去看看服务器的参数配置。

转到session部分,看到session.use_trans_sid参数被设为了零。

这个参数指定了是否启用透明SID支持,即session是否随着URL传递。我个人的理解是,一旦这个参数被设为0,那么每个URL都会启一个session。这样后面页面就无法追踪得到前面一个页面的session,也就是我们所说的无法传递。两个页面在服务器端生成了两个session文件,且无关联。(不知道这样理解对不对?请高手指教。)

所以一个办法是在配置文件php.ini里把session.use_trans_sid的值改成1。

当然我们知道,不是谁都有权限去改php的配置的,那么还有什么间接的解决办法呢?

下面就用两个实例来说明吧:

 代码如下 复制代码

文件1 test1.php

<?php
//表明是使用用户ID为标识的session
session_id(SID);
//启动session
session_start();
//将session的name赋值为Havi
$_SESSION['name']="Havi";
//输出session,并设置超链接到第二页test2.php
echo "<a href="test2.php">".$_SESSION['name']."</a>";
?>

 

文件2: test2.php

<?php
表明是使用用户ID为标识的session
session_id(SID);
//启动session
session_start();
//输出test1.php中传递的session。
echo "This is ".$_SESSION['name'];
?>

所以,重点是在session_start();前加上session_id(SID);,这样页面转换时,服务器使用的是用户保存在服务器session文件夹里的session,解决了传递的问题。

不过有同鞋会反映说,这样一来,多个用户的session写在一个SID里了,那Session的价值就发挥不出来了。所以还有一招来解决此问题,不用加session_id(SID);前提是你对服务器的php.ini有配置的权限:

output_buffering改成ON,道理就不表了。

 第二个可能的原因是对服务器保存session的文件夹没有读取的权限,还是回到phpinfo.php中,查看session保存的地址:

 代码如下 复制代码

session.save_path: var/tmp

所以就是检查下var/tmp文件夹是否可写。

写一个文件:test3.php来测试一下:

 代码如下 复制代码

 <?
echo var_dump(is_writeable(ini_get("session.save_path")));
?>

如果返回bool(false),证明文件夹写权限被限制了,那就换个文件夹咯,在你编写的网页里加入:

 代码如下 复制代码

//设置当前目录下session子文件夹为session保存路径。
$sessSavePath = dirname(__FILE__).'/session/';

//如果新路径可读可写(可通过FTP上变更文件夹属性为777实现),则让该路径生效。
if(is_writeable($sessSavePath) && is_readable($sessSavePath))
{session_save_path($sessSavePath);}

分页是每一个程序需要去理解的东西,但我学习过的几门语言中我发现分页原理都是一样的,下面我来为php初学者分析一下php分页实现与最后面补充了一个超级强大的分页函数。

文章内容分页主要有两个办法:

办法一、按字数控制进行分页

按字数分页办法简单易用,但效果不好。

大致思想:首先、设定每页能容纳的最大字数;然后、计算文章内容的总字数,再由总字数和单页最大字数计算出出总页数。这样整个分页的准备工作就已经做好了。

具体到每一页的显示内容可以通过内容截取来实现。比如:页容纳500字,文章内容有2200字,那么当页面传递page=2时应该显示第501至1000之间的内容。

这种办法简单,但显示时可能会遇到麻烦,文章内容通常伴有HTML标签,进行内容切割时实现HTML标签的闭合有一定难度,如果这个工作没做好,那么分页后的效果显然也是不好的。
 

办法二、通过分页符进行分页

通过分页符进行分页比起第一种办法要更为理想。

大致思想:在编辑文章内容时往内容里面插入分页符(如:<hr class="page">),在文章显示时对文章内容进行分割,每一部分表示一个页的内容,通过传递参数控制显示第几页。

这种办法比较人性化,毕竟通过人工控制出来的分页截取的内容更符全我们的思维,而且可以一定程度上避免HTML标签不闭合的情形。

页显示
分页显示是将大批量的数据分批发送到客户端的重要手段之一,通常是将数据库中的结果集人为的分成一段一段的来显示。

分类
PHP分页分为列表分页和内容分页,不管是列表分页还是内容分页,基本原理是一样的,将数据分批发送到客户端。

pager.class.php
这是一个简单的PHP分页显示类,目前支持两种分页模式。一种是最简单的普通分页模式[首页] [上页] [下页] [尾页]模式,另一种是经典分页模式,即:[1][2][3][4][5][6][7][8][9][10][下一页][尾页]。
 

使用方法

 代码如下 复制代码

require_once 'pager.class.php';
$pager = new pager($totalPage,$currentPage);  // $pager对象
echo $pager->showpager();       // 输出分页

此分页显示类的构造函数
/*
@total_page     总页数
@current_num    当前页
@sub_pages      每次显示的页数
@subPage_link   每个分页的链接
@subPage_type   分页模式

当@subPage_type=1的时候为普通分页模式
如: 共4523条记录,每页显示10条,当前第1/453页 [首页] [上页] [下页] [尾页]
当@subPage_type=2的时候为经典分页样式
如: 当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]
*/

 代码如下 复制代码
pager($total_page,$current_page,$sub_pages=10,$subPage_link='',$subPage_type=2)

上述说的PHP分页的两种类别(列表分页和内容分页),相信列表分页对大家并不陌生,对于内容分页,常用的方法是以分页符的形式(比如:<hr class="pager">)将内容分割成多段,求出总页数,用当前页码去获取分页显示列表。

 代码如下 复制代码

<?php
/**
 * 示例:
 * <?php
 * require_once("pager.class.php");
 * $subPages=new pager($totalPage,$currentPage);
 * echo $subPages->showpager();
 * ?>
 * */
class pager{

 var $each_disNums;//每页显示的条目数
 var $nums;//总条目数
 var $current_page;//当前被选中的页
 var $sub_pages;//每次显示的页数
 var $pageNums;//总页数
 var $page_array = array();//用来构造分页的数组
 var $subPage_link;//每个分页的链接
 var $subPage_type;//显示分页的类型
 var $_lang = array(
  'index_page' => '首页',
  'pre_page' => '上一页',
  'next_page' => '下一页',
  'last_page' => '尾页',
  'current_page' => '当前页:',
  'total_page' => '总页数:',
  'current_show' => '当前显示:',
  'total_record' => '总记录数:'
 );
 /*
 __construct是SubPages的构造函数,用来在创建类的时候自动运行.
 @total_page    总页数
 @current_num    当前被选中的页
 @sub_pages      每次显示的页数
 @subPage_link   每个分页的链接
 @subPage_type   显示分页的类型
 
 当@subPage_type=1的时候 www.111cn.net 为普通分页模式
 example: 共4523条记录,每页显示10条,当前第1/453页 [首页] [上页] [下页] [尾页]
 当@subPage_type=2的时候为经典分页样式
 example: 当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]
 */
 function __construct($total_page,$current_page,$sub_pages=10,$subPage_link='',$subPage_type=2){
  $this->pager($total_page,$current_page,$sub_pages,$subPage_link,$subPage_type);
 }
 
 function pager($total_page,$current_page,$sub_pages=10,$subPage_link='',$subPage_type=2){
  if(!$current_page){
   $this->current_page=1;
  }else{
   $this->current_page=intval($current_page);
  }
  $this->sub_pages=intval($sub_pages);
  $this->pageNums=ceil($total_page);
  if($subPage_link){
   if(strpos($subPage_link,'?page=') === false AND strpos($subPage_link,'&page=') === false){
    $subPage_link .= (strpos($subPage_link,'?') === false ? '?' : '&') . 'page=';
   }
  }
  $this->subPage_link=$subPage_link ? $subPage_link : $_SERVER['PHP_SELF'] . '?page=';
  $this->subPage_type = $subPage_type;
 }
 
 /*
    show_SubPages函数用在构造函数里面。而且用来判断显示什么样子的分页
 */
 function showpager(){
  if($this->subPage_type == 1){
   return $this->pagelist1();
  }elseif ($this->subPage_type == 2){
   return $this->pagelist2();
  }
 }
 
 
 /*
    用来给建立分页的数组初始化的函数。
 */
 function initArray(){
  for($i=0;$i<$this->sub_pages;$i++){
   $this->page_array[$i]=$i;
  }
  return $this->page_array;
 }
 
 
 /*
    construct_num_Page该函数使用来构造显示的条目
    即使:[1][2][3][4][5][6][7][8][9][10]
 */
 function construct_num_Page(){
  if($this->pageNums < $this->sub_pages){
   $current_array=array();
   for($i=0;$i<$this->pageNums;$i++){
    $current_array[$i]=$i+1;
   }
  }else{
   $current_array=$this->initArray();
   if($this->current_page <= 3){
    for($i=0;$i<count($current_array);$i++){
     $current_array[$i]=$i+1;
    }
   }elseif ($this->current_page <= $this->pageNums && $this->current_page > $this->pageNums - $this->sub_pages + 1 ){
    for($i=0;$i<count($current_array);$i++){
     $current_array[$i]=($this->pageNums)-($this->sub_pages)+1+$i;
    }
   }else{
    for($i=0;$i<count($current_array);$i++){
     $current_array[$i]=$this->current_page-2+$i;
    }
   }
  }
  
  return $current_array;
 }
 
 /*
 构造普通模式的分页
 共4523条记录,每页显示10条,当前第1/453页 [首页] [上页] [下页] [尾页]
 */
 function pagelist1(){
  $subPageCss1Str="";
  $subPageCss1Str.= $this->_lang['current_page'] . $this->current_page." / " .$this->pageNums." &nbsp; ";
  if($this->current_page > 1){
   $firstPageUrl=$this->subPage_link."1";
   $prewPageUrl=$this->subPage_link.($this->current_page-1);
   $subPageCss1Str.="<a href='$firstPageUrl'>{$this->_lang['index_page']}</a> ";
   $subPageCss1Str.="<a href='$prewPageUrl'>{$this->_lang['pre_page']}</a> ";
  }else {
   $subPageCss1Str.="{$this->_lang['index_page']} ";
   $subPageCss1Str.="{$this->_lang['pre_page']} ";
  }
  
  if($this->current_page < $this->pageNums){
   $lastPageUrl=$this->subPage_link.$this->pageNums;
   $nextPageUrl=$this->subPage_link.($this->current_page+1);
   $subPageCss1Str.=" <a href='$nextPageUrl'>{$this->_lang['next_page']}</a> ";
   $subPageCss1Str.="<a href='$lastPageUrl'>{$this->_lang['last_page']}</a> ";
  }else {
   $subPageCss1Str.="{$this->_lang['next_page']} ";
   $subPageCss1Str.="{$this->_lang['last_page']} ";
  }
  
  return $subPageCss1Str;
 }
 
 
 /*
 构造经典模式的www.111cn.net分页
 当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]
 */
 function pagelist2(){
  $subPageCss2Str="";
  $subPageCss2Str.=$this->_lang['current_page'] . $this->current_page."/" . $this->pageNums." ";
  
  if($this->current_page > 1){
   $firstPageUrl=$this->subPage_link."1";
   $prewPageUrl=$this->subPage_link.($this->current_page-1);
   $subPageCss2Str.="<a href='$firstPageUrl'>{$this->_lang['index_page']}</a> ";
   $subPageCss2Str.="<a href='$prewPageUrl'>{$this->_lang['pre_page']}</a> ";
  }else {
   $subPageCss2Str.="{$this->_lang['index_page']} ";
   $subPageCss2Str.="{$this->_lang['pre_page']} ";
  }
  
  $a=$this->construct_num_Page();
  for($i=0;$i<count($a);$i++){
   $s=$a[$i];
   if($s == $this->current_page ){
     $subPageCss2Str.="[<span style='color:red;font-weight:bold;'>".$s."</span>]";
   }else{
     $url=$this->subPage_link.$s;
     $subPageCss2Str.="[<a href='$url'>".$s."</a>]";
   }
  }
  
  if($this->current_page < $this->pageNums){
   $lastPageUrl=$this->subPage_link.$this->pageNums;
   $nextPageUrl=$this->subPage_link.($this->current_page+1);
   $subPageCss2Str.=" <a href='$nextPageUrl'>{$this->_lang['next_page']}</a> ";
   $subPageCss2Str.="<a href='$lastPageUrl'>{$this->_lang['last_page']}</a> ";
  }else {
   $subPageCss2Str.="{$this->_lang['next_page']} ";
   $subPageCss2Str.="{$this->_lang['last_page']} ";
  }
  return $subPageCss2Str;
 }
 
 
 /*
    __destruct析构函数,当类不在使用的时候调用,该函数用来释放资源。
 */
 function __destruct(){
  unset($each_disNums);
  unset($nums);
  unset($current_page);
  unset($sub_pages);
  unset($pageNums);
  unset($page_array);
  unset($subPage_link);
  unset($subPage_type);
 }
}
?>

好了我们只要把它保存在一个文件,在其它地方要使用时直接调用就可以了,非常好用的一个内容或记录分页类函数哦,这也算是一个入门级别的php教程吧。

[!--infotagslink--]

相关文章

  • php 中file_get_contents超时问题的解决方法

    file_get_contents超时我知道最多的原因就是你机器访问远程机器过慢,导致php脚本超时了,但也有其它很多原因,下面我来总结file_get_contents超时问题的解决方法总结。...2016-11-25
  • Laravel4安装配置的方法

    如果我们需要安培Laravel4的话最php最低要求要在php5.3.7版本并且我们需要把mcrypt与openss这两个扩展开启才可以,具体步骤我们参考下文。 前面我们介绍我了 com...2016-11-25
  • 图解PHP使用Zend Guard 6.0加密方法教程

    有时为了网站安全和版权问题,会对自己写的php源码进行加密,在php加密技术上最常用的是zend公司的zend guard 加密软件,现在我们来图文讲解一下。 下面就简单说说如何...2016-11-25
  • php抓取网站图片并保存的实现方法

    php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
  • HTTP 408错误是什么 HTTP 408错误解决方法

    相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
  • Android子控件超出父控件的范围显示出来方法

    下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
  • ps怎么使用HSL面板

    ps软件是现在很多人都会使用到的,HSL面板在ps软件中又有着非常独特的作用。这次文章就给大家介绍下ps怎么使用HSL面板,还不知道使用方法的下面一起来看看。 &#8195;...2017-07-06
  • ps把文字背景变透明的操作方法

    ps软件是现在非常受大家喜欢的一款软件,有着非常不错的使用功能。这次文章就给大家介绍下ps把文字背景变透明的操作方法,喜欢的一起来看看。 1、使用Photoshop软件...2017-07-06
  • Mysql select语句设置默认值的方法

    1.在没有设置默认值的情况下: 复制代码 代码如下:SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果:...2014-05-31
  • intellij idea快速查看当前类中的所有方法(推荐)

    这篇文章主要介绍了intellij idea快速查看当前类中的所有方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02
  • js导出table数据到excel即导出为EXCEL文档的方法

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht...2013-10-13
  • mysql 批量更新与批量更新多条记录的不同值实现方法

    批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即...2013-10-04
  • Plesk控制面板新手使用手册总结

    许多的朋友对于Plesk控制面板应用不是非常的了解特别是英文版的Plesk控制面板,在这里小编整理了一些关于Plesk控制面板常用的使用方案整理,具体如下。 本文基于Linu...2016-10-10
  • ps怎么制作倒影 ps设计倒影的方法

    ps软件是一款非常不错的图片处理软件,有着非常不错的使用效果。这次文章要给大家介绍的是ps怎么制作倒影,一起来看看设计倒影的方法。 用ps怎么做倒影最终效果&#819...2017-07-06
  • js基础知识(公有方法、私有方法、特权方法)

    本文涉及的主题虽然很基础,在许多人看来属于小伎俩,但在JavaScript基础知识中属于一个综合性的话题。这里会涉及到对象属性的封装、原型、构造函数、闭包以及立即执行表达式等知识。公有方法 公有方法就是能被外部访问...2015-11-08
  • 安卓手机wifi打不开修复教程,安卓手机wifi打不开解决方法

    手机wifi打不开?让小编来告诉你如何解决。还不知道的朋友快来看看。 手机wifi是现在生活中最常用的手机功能,但是遇到手机wifi打不开的情况该怎么办呢?如果手机wifi...2016-12-21
  • 使用insertAfter()方法在现有元素后添加一个新元素

    复制代码 代码如下: //在现有元素后添加一个新元素 function insertAfter(newElement, targetElement){ var parent = targetElement.parentNode; if (parent.lastChild == targetElement){ parent.appendChild(newEl...2014-05-31
  • PHP 验证码不显示只有一个小红叉的解决方法

    最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误; (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=ph...2013-10-04
  • c#中分割字符串的几种方法

    单个字符分割 string s="abcdeabcdeabcde"; string[] sArray=s.Split('c'); foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab de...2020-06-25
  • js控制页面控件隐藏显示的两种方法介绍

    javascript控制页面控件隐藏显示的两种方法,方法的不同之处在于控件隐藏后是否还在页面上占位 方法一: 复制代码 代码如下: document.all["panelsms"].style.visibility="hidden"; document.all["panelsms"].style.visi...2013-10-13