当前位置:  编程技术>php
本页文章导读:
    ▪php获取重定向后的URL地址的实例代码      在php中,经常使用.htaccess实现url的重定向,不过,有时又需要获取重定向后的页面地址。 本文给出的例子,可以取得重定向后的url地址,如下: <?php //取重定向的地址 class RedirectUrl{ /.........
    ▪php学习笔记之php数组小结      以下是本文记录的有关php数组的一些笔记,分享下,供有缘的朋友参考,呵呵。 1,在php里面数组可以存储任意类型的数据,在c++中是不行的。 2,在php里数组的使用有下面几种情况。   1.........
    ▪PHP二维数组排序自定义函数      代码如下: <?php /** * func: array_sort * desc: php二维数组排序 * edit: www. */ function array_sort($arr,$keys,$type='asc'){ $keysvalue = $new_array = array(); foreach ($arr as $k=>$v){ $keysvalue[$k] = $v[$.........

[1]php获取重定向后的URL地址的实例代码
    来源: 互联网  发布时间: 2013-12-24

在php中,经常使用.htaccess实现url的重定向,不过,有时又需要获取重定向后的页面地址。
本文给出的例子,可以取得重定向后的url地址,如下:

<?php
//取重定向的地址 
class RedirectUrl{ 
//地址 
var $url; 
//初始化地址 
function RedirectUrl(/blog_article/$url/index.html){ 
$this->url = $url; 
} 
/** 
* get_redirect_url() 
* 取重定向的地址 
* //by www.
* @param string $url 
* @return string 
*/ 
private function get_redirect_url($url){ 
$redirect_url = null; 

$url_parts = @parse_url($url); 
if (!$url_parts) return false; 
if (!isset()($url_parts['host'])) return false; //can't process relative URLs 
if (!isset($url_parts['path'])) $url_parts['path'] = '/'; 

$sock = fsockopen($url_parts['host'], (isset($url_parts['port']) ? (int)$url_parts['port'] : 80), $errno, $errstr, 30); 
if (!$sock) return false; 

$request = "HEAD " . $url_parts['path'] . (isset($url_parts['query']) ?'?'.$url_parts['query'] : '') . " HTTP/1.1\r\n"; 
$request .= 'Host: ' . $url_parts['host'] . "\r\n"; 
$request .= "Connection: Close\r\n\r\n"; 
fwrite($sock, $request); 
$response = ''; 
while(!feof($sock)) $response .= fread($sock, 8192); 
fclose($sock); 

if (preg_match('/^Location: (.+?)$/m', $response, $matches)){ 
return trim($matches[1]); 
} else { 
return false; 
} 
} 

/** 
* get_all_redirects() 
* 取所有重定向地址 
* 
* @param string $url 
* @return array 
*/ 
private function get_all_redirects($url){ 
$redirects = array(); 
while ($newurl = $this->get_redirect_url($url)){ 
if (in_array($newurl, $redirects)){ 
break; 
} 
$redirects[] = $newurl; 
$url = $newurl; 
} 
return $redirects; 
} 

/** 
* get_final_url() 
* 取实际地址 
* 
* @param string $url 
* @return string 
*/ 
function get_final_url(){ 
$redirects = $this->get_all_redirects($this->url); 

if (count($redirects)>0){ 
return array_pop($redirects); 
} else { 
return $this->url; 
} 
} 
} 

/** 
* get_show_pic 
* 取最终要显示的图片地址 
* 
* @param string $url 
* @return string 
*/ 
function get_show_pic($url,$noimg ='noimg.gif',$newimg="http://www./images/slt-1.jpg"){ 
$obj = new RedirectUrl(/blog_article/$url/index.html); 

$realurl = $obj->get_final_url(); 

if(strpos($realurl,$noimg)>0){ 
return $newimg; 
} 
return $url; 
} 
//参考 
echo "<img src='".get_show_pic("http://www./img/1294948410019/5.jpg")."'/>"; 
?>

    
[2]php学习笔记之php数组小结
    来源: 互联网  发布时间: 2013-12-24

以下是本文记录的有关php数组的一些笔记,分享下,供有缘的朋友参考,呵呵。

1,在php里面数组可以存储任意类型的数据,在c++中是不行的。
2,在php里数组的使用有下面几种情况。
  1)、$arr[0]=1;$arr[1]='china';$arr=[2]=false;$arr['str']='str';
  2)、arr= array(1,'str',false);   $arr2=array('str'=>'str','int'=>2);
3,遍历数组方法。可以使用for,while,foreach这3种
1)、其中foreach使用方法:

代码示例:
foreach($arr as $key=>$value)
{
echo $value."<br>";
}

2)、当以$arr[]进行赋值的时候,数组下标会以当前最大下标+1($arr[最大+1])为下标.
例子:

 <?php
 $arr= array(1,'str',false);
 $arr[4]='4';
 $arr[]='x';
 $arr['int2']='7';
 $arr[]='xx';
 
 foreach($arr as $key=>$value)
 {
 echo $key.' ='.$value."<br>";
 }
 //output:
/*
0 =1
1 =str
2 =
4 =4
5 =x
int2 =7
6 =xx
*/
?>

4,在php中数组是会自己动态增加的,和c++中是不同的
5,关于数组的函数
  1)、count统计数组的个数。
  2)、isarray判断某个变量是不是数组
  3)、explode()文本分割。
  4)、unset销毁某个变量或者数组的元素。unset销毁后不会改变数组的序列。
6,数组运算符
$a+$b  把数组b加到数组a里面,除去相同的键。相同的键不覆盖。数字下标也一样

<?php
$a=array('a'=>'fsf','b'=>'fsdfss');
$b=array('a'=>'china','b'=>'huc','c'=>'lengai');
$c=$a+$b;
print_r($c);//Array ( [a] => fsf [b] => fsdfss [c] => lengai )
?>

代码说明:
  $a==$b 数组a和数组b键值是一样的
  $a===$b 数组a和b不仅键值一样,顺序还必须一样。
  $a<>$b数组a和数组b不一样。
  $a!==$b数组a和数组b不全等。
就总结这些吧,希望对大家有所帮助吧。
学php编程,就来。


    
[3]PHP二维数组排序自定义函数
    来源: 互联网  发布时间: 2013-12-24

代码如下:

<?php
/**
* func: array_sort
* desc: php二维数组排序
* edit: www.
*/
function array_sort($arr,$keys,$type='asc'){
   $keysvalue = $new_array = array();
       foreach ($arr as $k=>$v){
       $keysvalue[$k] = $v[$keys];
   }
   if($type == 'asc'){
       asort($keysvalue);
   }else{
       arsort($keysvalue);
   }
   reset($keysvalue);
       foreach ($keysvalue as $k=>$v){
       $new_array[$k] = $arr[$k];
   }
   return $new_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