当前位置:  编程技术>php
本页文章导读:
    ▪php获取当前页面完整url的代码      大家是否记得,我们之前曾介绍过的:php 取得当前页面完整url的多个代码,在继续阅读下面的代码之前,可以参考下这篇文章,然后与本文中代码作下对比,以加深理解。 完整代码如下:  .........
    ▪PHP获取远程图片并调整图像大小的实现代码      1、调整图片尺寸或生成缩略图   代码示例: <?php   /**  *  *函数:调整图片尺寸或生成缩略图  *修改:2013-2-15  *返回:True/False  *参数:  *   $Image   需要调整的图片(含路径)  *.........
    ▪php判断访问者是搜索引擎还是真实用户的代码      代码如下:   代码示例: <?php /**  * 判断访问来源 搜索引擎还是真实用户  * site www. */ function is_bot()  {   /* This function will check whether the visitor is a search engine robot */   //根据需要.........

[1]php获取当前页面完整url的代码
    来源: 互联网  发布时间: 2013-12-24

大家是否记得,我们之前曾介绍过的:php 取得当前页面完整url的多个代码,在继续阅读下面的代码之前,可以参考下这篇文章,然后与本文中代码作下对比,以加深理解。

完整代码如下:
 

代码示例:
<?php
/**
 * 获取当前页面完整URL地址
 * site http://www.
*/
    function selfURL(){ 
        //$_SERVER["REQUEST_URI"] 只有 apache 才支持, 
        //因此需要下面的判断来解决通用问题 
        if (isset()($_SERVER['REQUEST_URI'])) 
        { 
            $serverrequri = $_SERVER['REQUEST_URI'];  
        } 
        else 
        { 
            if (isset($_SERVER['argv'])) 
            { 
                $serverrequri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['argv'][0]; 
            } 
            else if(isset($_SERVER['QUERY_STRING'])) 
            { 
                $serverrequri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['QUERY_STRING']; 
            } 
        } 
        $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : ""; 
        $protocol = strstr(strtolower()($_SERVER["SERVER_PROTOCOL"]), "/",true).$s; 
        $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]); 
        return $protocol."://".$_SERVER['SERVER_NAME'].$port.$serverrequri;    
    }
 ?>

    
[2]PHP获取远程图片并调整图像大小的实现代码
    来源: 互联网  发布时间: 2013-12-24

1、调整图片尺寸或生成缩略图
 

代码示例:
<?php 
 /**
 *
 *函数:调整图片尺寸或生成缩略图
 *修改:2013-2-15
 *返回:True/False
 *参数:
 *   $Image   需要调整的图片(含路径)
 *   $Dw=450   调整时最大宽度;缩略图时的绝对宽度
 *   $Dh=450   调整时最大高度;缩略图时的绝对高度
 *   $Type=1   1,调整尺寸; 2,生成缩略图
 * site http://www.
 */
 $phtypes=array('img/gif', 'img/jpg', 'img/jpeg', 'img/bmp', 'img/pjpeg', 'img/x-png'); 
  
 function compressImg($Image,$Dw,$Dh,$Type){ 
  echo $Image; 
  IF(!file_exists($Image)){ 
   echo "不存在图片"; 
   return false; 
  } 
  echo "存在图片"; 
  // 如果需要生成缩略图,则将原图拷贝一下重新给$Image赋值(生成缩略图操作) 
  // 当Type==1的时候,将不拷贝原图像文件,而是在原来的图像文件上重新生成缩小后的图像(调整尺寸操作) 
  IF($Type!=1){ 
   copy($Image,str_replace()(".","_x.",$Image)); 
   $Image=str_replace(".","_x.",$Image); 
  } 
  // 取得文件的类型,根据不同的类型建立不同的对象 
  $ImgInfo=getimagesize($Image); 
  Switch($ImgInfo[2]){ 
   case 1: 
    $Img =@imagecreatefromgif($Image); 
    break; 
   case 2: 
    $Img =@imagecreatefromjpeg($Image); 
    Break; 
   case 3: 
    $Img =@imagecreatefrompng($Image); 
    break; 
  } 
  // 如果对象没有创建成功,则说明非图片文件 
  IF(Empty($Img)){ 
   // 如果是生成缩略图的时候出错,则需要删掉已经复制的文件 
   IF($Type!=1){ 
    unlink($Image); 
   } 
   return false; 
  } 
  // 如果是执行调整尺寸操作则 
  IF($Type==1){ 
   $w=ImagesX($Img); 
   $h=ImagesY($Img); 
   $width = $w; 
   $height = $h; 
   IF($width>$Dw){ 
    $Par=$Dw/$width; 
    $width=$Dw; 
    $height=$height*$Par; 
    IF($height>$Dh){ 
     $Par=$Dh/$height; 
     $height=$Dh; 
     $width=$width*$Par; 
    } 
   } ElseIF($height>$Dh) { 
    $Par=$Dh/$height; 
    $height=$Dh; 
    $width=$width*$Par; 
    IF($width>$Dw){ 
     $Par=$Dw/$width; 
     $width=$Dw; 
     $height=$height*$Par; 
    } 
   } Else { 
    $width=$width; 
    $height=$height; 
   } 
   $nImg =ImageCreateTrueColor($width,$height);// 新建一个真彩色画布 
   ImageCopyReSampled($nImg,$Img,0,0,0,0,$width,$height,$w,$h);// 重采样拷贝部分图像并调整大小 
   ImageJpeg($nImg,$Image);// 以JPEG格式将图像输出到浏览器或文件 
   return true; 
  } Else {// 如果是执行生成缩略图操作则 
   $w=ImagesX($Img); 
   $h=ImagesY($Img); 
   $width = $w; 
   $height = $h; 
   $nImg =ImageCreateTrueColor($Dw,$Dh); 
   IF($h/$w>$Dh/$Dw){// 高比较大 
    $width=$Dw; 
    $height=$h*$Dw/$w; 
    $IntNH=$height-$Dh; 
    ImageCopyReSampled($nImg, $Img, 0, -$IntNH/1.8, 0, 0, $Dw, $height, $w, $h); 
   } Else {// 宽比较大 
    $height=$Dh; 
    $width=$w*$Dh/$h; 
    $IntNW=$width-$Dw; 
    ImageCopyReSampled($nImg, $Img,-$IntNW/1.8,0,0,0, $width, $Dh, $w, $h); 
   } 
   ImageJpeg($nImg,$Image); 
   return true; 
  } 
 }; 
 ?>

2、获取远程图片
 

代码示例:
<?php 
 //网络图片路径 
 $imgPath = 'http://www./phone/compress-img/251139474ba926db3d7850.jpg'; 
 //$imgPath = "http://www./userfiles/image/20111125/251139474ba926db3d7850.jpg"; 
 $tempPath = str_replace('http://www./', '', $imgPath);//替换换行字符 
 $name = strrchr($tempPath, "/"); 
 $path = str_replace($name, '', $tempPath);//替换换行字符 
  
 /**
  *根据路径path建立多级目录
  *$dir目标目录 $mode权限,0700表示最高权限
 */ 
 function  makedir( $dir , $mode = "0700" ) { 
  if(strpos($dir , "/" )){ 
   $dir_path = "" ; 
   $dir_info = explode()("/" , $dir ); 
   foreach($dir_info as $key => $value){ 
    $dir_path .= $value ; 
    if (!file_exists($dir_path)){ 
     @mkdir($dir_path, $mode) or die ("建立文件夹时失败了" ); 
     @chmod($dir_path, $mode); 
    } else { 
     $dir_path .= "/" ; 
     continue ; 
    } 
    $dir_path .= "/" ; 
   } 
   return $dir_path ; 
  } else { 
   @mkdir($dir, $mode) or die( "建立失败了,请检查权限" ); 
   @chmod($dir, $mode); 
   return $dir ; 
  } 
 } //end makedir 
 makedir($path); 
  
 /**
  *根据url获取服务器上的图片
  *$url服务器上图片路径 $filename文件名
 */ 
 function GrabImage($url,$filename="") { 
  if($url=="") return false; 
  if($filename=="") { 
   $ext=strrchr($url,"."); 
   if($ext!=".gif" && $ext!=".jpg" && $ext!=".png") 
    return false; 
   $filename=date("YmdHis").$ext; 
  } 
  ob_start();  
  readfile($url);  
  $img = ob_get_contents();  
  ob_end_clean(); 
  $size = strlen($img);  
  
  $fp2=@fopen($filename, "a"); 
  fwrite($fp2,$img); 
  fclose($fp2); 
  return $filename; 
 } 
 ?>

3、调用示例
 

代码示例:
<html> 
 <body> 
 允许上传的文件类型为:<?=implode(', ',$phtypes)?><br/> 
 <input type="button" id="getImg" name="getImg" size="10" value="获取图片并保存" onclick="alert('12333');" />
 <?php 
 echo $path."<br>"; 
 /**/ 
 $bigImg=GrabImage($imgPath, $tempPath); 
 if($bigImg){ 
  echo '<img src="'.$bigImg.'"><br>'; 
 } else { 
  echo "false"; 
 }  
  
 compressImg($bigImg,100,80,1); 
 ?> 
 </body> 
 </html> 

    
[3]php判断访问者是搜索引擎还是真实用户的代码
    来源: 互联网  发布时间: 2013-12-24

代码如下:
 

代码示例:
<?php
/**
 * 判断访问来源 搜索引擎还是真实用户
 * site www.
*/
function is_bot() 

 /* This function will check whether the visitor is a search engine robot */ 
 //根据需要扩充此数组 
 $botlist = array("Teoma", "alexa", "froogle", "Gigabot", "inktomi", 
 "looksmart", "URL_Spider_SQL", "Firefly", "NationalDirectory", 
 "Ask Jeeves", "TECNOSEEK", "InfoSeek", "WebFindBot", "girafabot", 
 "crawler", "www.", "Googlebot", "Scooter", "Slurp", 
 "msnbot", "appie", "FAST", "WebBug", "Spade", "ZyBorg", "rabaz", 
 "Baiduspider", "Feedfetcher-Google", "TechnoratiSnoop", "Rankivabot", 
 "Mediapartners-Google", "Sogou web spider", "WebAlta Crawler","TweetmemeBot", 
 "Butterfly","Twitturls","Me.dium","Twiceler"); 
     
 foreach($botlist as $bot) 
 { 
     if(strpos($_SERVER['HTTP_USER_AGENT'],$bot)!==false) 
     return true;    // Is a bot 
 } 
     
 return false;   // Not a bot 
}
?>

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
博客 iis7站长之家
▪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