PHP生成迅雷、快车、QQ旋风下载链接的实例

 更新时间:2016年11月25日 17:25  点击:2250
在php中要生成迅雷、快车、QQ旋风下载链接我们会使用到的加密方式有base64_encode与base64_decode来生成,下面看两个例子,希望对你会带来帮助。


在一些资源下载共享站点中,我们经常遇到需要在下载页中添加各种下载工具链接的情况。传统的利用各下载工具官方提供的脚本(.js)生成链接的方式,其弊端已日渐突出,如加载速度慢、客户端兼容性问题等。

本文将介绍如何通过 PHP 函数处理,轻松生成制作各种第三方下载工具的链接数据,并直接输出到前台上。

该功能所用到的 PHP 函数:

1. base64_encode: 用于以 base64 方式加密字符串;
2. base64_decode: 用于解密以 base64 方式加密的字符串。

例子1

以原始下载地址生成第三方工具下载链接 PHP 代码:

 代码如下 复制代码

$url = 'http://www.example.com/document.zip';
 
// 可从以下代码推知各种第三方工具下载链接的精确构成
$url_thunder = 'thunder://' . base64_encode ( 'AA' . $url . 'ZZ' );
$url_flashget = 'flashget://' . base64_encode ( '[FLASHGET]' . $url . '[FLASHGET]' );
$url_qqdl = 'qqdl://' . base64_encode ( $url );

从第三方工具下载链接还原成原始链接 PHP 代码:

 代码如下 复制代码

$url_old = '';
 
// 将字符串以 // 为界限分开
$temp = explode ( '//' , $url_old, 2 );
// 判断 // 前的字符(已转换为小写)
switch ( strtolower( $temp[0] ) ) {
    case 'thunder:':
        $url_new = substr ( base64_decode ( $temp[1] ), 2, -2 );
        break;
    case 'flashget:':
        $url_new = substr ( base64_decode ( $temp[1] ), 10, -10 );
        break;
    case 'qqdl:':
        $url_new = base64_decode ( $temp[1] );
        break;
}

例子2

 代码如下 复制代码

<?php
function zhuanhuan() {
 $urlodd=explode('//',$_GET["url"],2);//把链接分成2段,//前面是第一段,后面的是第二段
 $head=strtolower($urlodd[0]);//PHP对大小写敏感,先统一转换成小写,不然 出现HtTp:或者ThUNDER:这种怪异的写法不好处理
 $behind=$urlodd[1];
 if($head=="thunder:"){
  $url=substr(base64_decode($behind), 2, -2);//base64解密,去掉前面的AA和后面ZZ
 }elseif($head=="flashget:"){
  $url1=explode('&',$behind,2);
  $url=substr(base64_decode($url1[0]), 10, -10);//base64解密,去掉前面后的[FLASHGET]
 }elseif($head=="qqdl:"){
  $url=base64_decode($behind);//base64解密
 }elseif($head=="http:"||$head=="ftp:"||$head=="mms:"||$head=="rtsp:"||$head=="https:"){
  $url=$_GET["url"];//常规地址仅支持http,https,ftp,mms,rtsp传输协议,其他地貌似很少,像XX网盘实际上也是基于base64,但是有的解密了也下载不了
 }else{
  echo "本页面暂时不支持此协议";
 }
 return $url;
}
if($_GET["url"]!=NULL){
 $url=zhuanhuan($_GET["url"]);
 $url_thunder="thunder://".base64_encode("AA".$url."ZZ");//base64加密,下面的2也一样
 $url_flashget="Flashget://".base64_encode("[FLASHGET]".$url."[FLASHGET]")."&aiyh";
 $url_qqdl="qqdl://".base64_encode($url);
}
?>
<form action=cs.php method=GET>
请输入普通链接或者迅雷,快车,旋风链地址:
<input type=text name="url" size="80">
<input type=submit value="转换">
</form>
<p>实际地址:<a href="<?php echo $url;?>" target="_blank"><?php echo $url;?></a>
<p>迅雷链:<a href="<?php echo $url_thunder;?>" target="_blank"><?php echo $url_thunder;?></a>
<p>快车链:<a href="<?php echo $url_flashget;?>" target="_blank"><?php echo $url_flashget;?></a>
<p>旋风链:<a href="<?php echo $url_qqdl;?>" target="_blank"><?php echo $url_qqdl;?></a>

生成效果如下

PHP生成迅雷、快车、QQ旋风下载链接的实例

远程图片保存功能以前介绍过很多php的例子,这里我给大家介绍一个php+ajax的例子,希望本例子给你会有所帮助。

先看效果


实现原理

发送请求 :将输入的目标网址及保存路径名称采用AJAX异步的方式发送到image.info.php文件,该文件中包含有一个ImageCatch类,注意:因为有一个是指定目标图片抓取,一个是只要指定一个网址,如http://www.111cn.net形式,所以还要有一个参数用来判断是指定目标抓取还是指定网站抓取。

接收请求 :接收发送过来的两个参数,目标网址及保存路径,实例化ImageCatch类,将地址及保存路径传进去,用file_get_contents函数将目标地址的内容读取赋值给一个变量$content。

先说指定图片抓取的实现 :指定图片抓取的方法实现比较简单,直接用file_get_contents函数将图片读取到,再用file_put_contents写入到一个文件保存起来就可以了。

指定网址抓取图片的实现

方法跟指定图片地址抓取就有点不一样了,因为采用的是jquery+ajax无刷新模式抓取,所以,请求要一次一次发,先说第一次发什么请求,很显然,第一次发的请求内容是获取目标网址的所有图片地址及图片总数,那要怎样获取目标网址的所有图片地址呢?思路跟上面的一样,但方法不同;

第一步:用file_get_contents函数读取目标网址赋值给一个content变量。

第二步:用正则匹配所有img标签里的src属性,并保存在一个数组,这样网页的图片地址就已经拿到了

第三步:用正则匹配所有样式表文件link标签的href属性,并保存在一个数组$arr1

第四步:还是用file_get_contents函数读取获取的样式表文件,再用正则去匹配到css样式里的url背景图片地址,并保存在一个数组$arr2,这样css样式的图片又拿到了

第五步:将$arr1和$arr2用array_merge函数进行合并成$arr,再用一个数组$arr3(‘total’=>count($arr))得出图片总数并追加到数组$arr里面去,这样图片地址和总数都拿到了

第六步:用json_encode编译一个返回json数据 第七步:接收返回回来的json数据,将数据都存入一个数组,判断是否数组为空,不为空,则用函数递归的方法调用一个函数,每调用一次,在返回结果后就将该数组的第一个元素去掉,再判断数组是否为空,不为空,则继续发送抓取请求,直到数组为空,全部图片就已经都抓取完毕。

好了现在看例子

index.php

 代码如下 复制代码
<!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 http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>PHP远程图片抓取</title>
<style>
body { margin:0; padding:0; }
#content { width:90%; height:auto; margin:0 auto; margin-top:20px; font-size:12px; color:#333; }
#content .h1 { width:100%; line-height:30px; text-align:left; }
#content .h2 { width:100%; line-height:30px; text-align:left; }
#content .Schedule { width:auto; height:12px; margin:15px 0px; display:none; background:url() }
#content ul { width:100%; height:auto; margin-top:10px; }
#content ul li { height:24px; line-height:24px;}
#content font { color:#f00; }
</style>
<script type="text/javascript" src="js/jquery.js"></script>
<script>
$(document).ready(function() {
    var TargetUrl;
 var Save;
 function error(info) {
  $('#content .h2 font').text(info);
 }
 function statusInfo(info) {
  $('#content ul').append('<li>'+info+'</li>');
 }
 //禁用按钮
 function start_d() {
  $('#Single,#more').attr('disabled','disabled');
 }
 //解放按钮
 function start_s() {
  $('#Single,#more').removeProp('disabled');
 }
 //进度跳转
 function href() {
  location.href='#bottom';
 }
 //单个图片抓取
 $('#content .h1 #Single').click(function() {
  TargetUrl=$('#content .h2 .TargetUrl').val();
  Save=$('#content .h2 .Save').val();
  if (TargetUrl=='') {
   error(' * 请填写目标网址');
   return;
  }
  if (Save=='') {
   error(' * 请填写保存目录');
   return;
  }
  var zurl=new Array(TargetUrl);
  start_d();
  Crawl(zurl,Save);
 });
 function Crawl(zurl,Save) {
  start_d();
  $('#content .Schedule').show();
  if (zurl.length>0) {
   var curl=zurl[0];
  $.ajax({
   url:'image.info.php?Single=Single',
   dataType:'json',
   type:'POST',
   data:'TargetUrl='+curl+'&Save='+Save,
   success: function(data) {
    if (data.status=='ok') {
     statusInfo('远程图片 <font>'+curl+'</font> 抓取成功 已保存在 <font>'+data.FileSave+'</font> 文件大小:<font>'+data.FileSize+'</font>');
     zurl.shift();  //删除第一个数组元素并返回
     Crawl(zurl,Save); //使用函数递归
     href();
    }else {
     zurl.shift();    //删除第一个数组元素并返回
     Crawl(zurl,Save); //使用函数递归
     statusInfo(data.status);  //显示失败信息
     $('#content .Schedule').hide(); //隐藏LOADING图片
     start_s();   //按钮启用
     href();
    }
   }
  });
  }else {
   $('#content .Schedule').hide();
   statusInfo('图片抓取完毕');
   start_s();
   href();
  }
 }
 //多个图片抓取
 $('#content .h1 #more').click(function() {
  TargetUrl=$('#content .h2 .TargetUrl').val();
  Save=$('#content .h2 .Save').val();
  if (TargetUrl=='') {
   error(' * 请填写目标网址');
   return;
  }
  var str=/^(https?://)?([da-z.-]+).([a-z.]{2,6})([/w .-]*)*/?$/;
  if (!str.test(TargetUrl)) {
   error(' * 目标网址不正确');
   return;
  }
  if (Save=='') {
   error(' * 请填写保存目录');
   return;
  }
  start_d();
  $('#content .Schedule').show();
  $.ajax({
   url:'image.info.php?more=more',
   dataType:'json',
   type:'POST',
   data:'TargetUrl='+TargetUrl+'&Save='+Save,
   success: function(data) {
    if (data[0]!='no') {
     statusInfo('在目标网址 <font>'+TargetUrl+'</font> 找到 <font>'+data['total']+'</font> 张图片,现正在进行抓取....');
     var zurl=new Array();
     for (i=0; i<data['total']; i++) {
      zurl.push(data[i]);
     }
     Crawl(zurl,Save);
    }else {
     statusInfo("未抓取找到任何图片");
     $('#content .Schedule').hide();
     start_s();
    }
   }
  });
 });
 $('#clear').click(function() {
  $('#content ul li').remove();
 });
});
</script>
</head>
<body>
<div id="content">
 <h1>PHP远程图片抓取程序</h1>
 <div class="h1">
    指定图片抓取:<input type="button" value=" 开始抓取 " id="Single" /> <font>目标网址如:http://www.111cn.Net/123.jpg</font>  指定网址抓取:<input type="button" value=" 开始抓取 " id="more" /> <font>目标网址如:http://www.111cn.Net</font>  <input type="button" value=" 清空状态信息 " id="clear" />
    </div>
    <div class="Schedule"><font>正在抓取,请稍后...</font> <img src="loading.gif" border="0" /></div>
    <div class="h2">目标网址:<input type="text" class="TargetUrl" size="40" /> 保存地址:<input type="text" class="Save" /><font></font></div>
    <ul>
    </ul>
    <a name="bottom"></a>
</div>
</body>
</html>

images.info.php

 代码如下 复制代码

<?php
header('Content-Type; text/json; charset=utf-8');
$Single=$_GET['Single'];
$more=$_GET['more'];
$TargetUrl=$_POST['TargetUrl'];
$Save=$_POST['Save'];
//判断是抓取单个图片还是多个图片
if ($Single=='Single') {
 $ImageCatch=new ImageCatch($TargetUrl,$Save);
 $ImageCatch->S();
}else if ($more=='more') {
 $ImageCatch=new ImageCatch($TargetUrl,$Save);
 $ImageCatch->M();
}
//图片抓取类
class ImageCatch {
 private $TargetUrl;  //目标地址
 private $Save;  //保存地址
 private $FileName; //文件名称及路径
 private $Type;  //文件类型
 private $Size;  //文件大小
 //构造函数
 public function __construct($TargetUrl,$Save) {
  $this->TargetUrl=str_replace("'",'',$TargetUrl);   //去掉单引号
  $this->Save=$Save;
 }
 //CSS样式表中图片抓取方法
 public function CSS() {
  $content=@file_get_contents($this->TargetUrl);
  //CSS图片过滤
  preg_match_all('/<link.+href="?(.*?.css)"?.+>/i',$content,$css);
  $css[1]=array_unique($css[1]);//移除重复的值
  $match2=array();
  if (count($css[1])>0) {
   foreach($css[1] as $val) {
    if (!preg_match('/^(https?://)/i',$val)) {
     $val=$this->TargetUrl.'/'.$val;
     $csscontent=@file_get_contents($val);
    }else {
     $csscontent=@file_get_contents($val);
    }
    //匹配图片URL地址
    preg_match_all('/url((.*))/i',$csscontent,$cssimg);
    $cssimg[1]=array_unique($cssimg[1]);//移除重复的值
   }   
   foreach($cssimg[1] as $val) {
    //去除 " ) 字符
    $val=preg_replace(array('/"|)/'),'',$val);
    //去除../字符
    $val=str_replace('../','',$val);
    //检查是否是http://开头,如果不是则加上要抓取的网址
    if (!preg_match('/^(https?://)/i',$val)) {
     array_push($match2,$this->TargetUrl.'/'.$val);
    }else {
     array_push($match2,$val);
    }
   }
   return $match2;
  }
 }
 //计算并返回图片数量及地址
 public function M() {
  $content=@file_get_contents($this->TargetUrl);
  //网页图片过滤
  $str='/<img.+src="?(.+.(jpg|gif|bmp|bnp|png))"?.+>/i';
  preg_match_all($str,$content,$res);
  if ($res[1]) {
   $res[1]=array_unique($res[1]);//移除重复的值
   $httpstr='/^(https?://)/i';
   $match=array();
   foreach($res[1] as $val) {
    if (!preg_match($httpstr,$val)) {
     array_push($match,$this->TargetUrl.'/'.$val);
    }else {
     array_push($match,$val);
    }
   }
   $cssimg=$this->CSS();
   //扫描出css文件图片的总数与网页图片相加得到总数
   $total=array("total"=>count($match)+count($cssimg));
   $result=array_merge($total,$match,$cssimg);
   //返回JSON数据
   echo json_encode($result);
  }else {
   $res=array('no');
   echo json_encode($res);
  }
  exit;
 }
 //抓取并保存图片
 public function S() {
  $this->Type=substr(strrchr($this->TargetUrl,'.'),1);
  $this->FileName=$this->Save.'/'.substr(strrchr($this->TargetUrl,'/'),1);
  $this->imageType();
  $content=@file_get_contents($this->TargetUrl);
  $this->imageDir();
  if (!@file_put_contents($this->FileName,$content,FILE_USE_INCLUDE_PATH)) {
   @unlink($this->FileName);
   exit('{"status":"没有找到 '.$this->TargetUrl.' 图片"}');
  }else {
   $this->imageSize();
   exit('{"status":"ok","FileSave":"'.$this->FileName.'","FileSize":"'.$this->Size.'"}');
  }
 }
 //新建目录
 private function imageDir() {
  if (!@file_exists($this->Save)) {
   if (!@mkdir($this->Save,0700)) {
    exit('{"status":"新建保存目录失败"}');
   }
  }
 }
 //文件类型判断
 private function imageType() {
  $typeArr=array('jpg','png','gif','zip','rar');
  if (!in_array($this->Type,$typeArr)) {
   exit('{"status":"要执行抓取的文件扩展名有错误,'.$this->TargetUrl.'"}');
  }
 }
 //文件大小检测
 private function imageSize() {
  if (file_exists($this->FileName)) {
   $this->Size=filesize($this->FileName);
   if ($this->Size>1024*1024*1024) {
    $this->Size=round($this->Size/1024/1024/1024,2).' GB';
   }else if ($this->Size>1024*1024) {
    $this->Size=round($this->Size/1024/1024,2).' MB';
   }else if ($this->Size>1024) {
    $this->Size=$this->Size/1024;
    $this->Size=ceil($this->Size).'KB';
   }else {
    $this->Size=$this->Size.'bit';
   }
  }else {
   return '未找到文件';
  }
 }
}
?>

 

碰到页面程序执行超时时会提醒Fatal error: Maximum execution time of 300 seconds exceeded 是因为程序执行时间超过了最大允许执行时间,解决办法我总结了好几个大家选择适合自己的吧。

对于函数我们可以常用下面方法,直接给函数设置超时时间。

 代码如下 复制代码
declare(ticks = 1);
    function a(){
    sleep(10);
    echo "a finishi ";
}
function b(){
    echo "Stop ";
}
function c(){
    usleep(100000);
}
 
function sig(){
    throw new Exception;
}
 
try{
    pcntl_alarm(1);
    pcntl_signal(SIGALRM, "sig");
    a();
    pcntl_alarm(0);
}catch(Exception $e){
    echo "timeout ";
}
 
b();
a();
b();

来操作

对于文件或程序代码可使用set_time_limit只是设置你的PHP程序的超时时间

解决方法:

1. 修改php.ini文件:

 代码如下 复制代码
 
max_execution_time = 30     ; // Maximum execution time of each script, in seconds

原值30秒,你可以改大点。

改完后记得重启php。该方法改了后对所有程序生效。

2. 修改你的程序,在你需要耗时超过默认值(30秒)的脚本中,加入代码:

 代码如下 复制代码
 
set_time_limit(300);   // 最大执行时间这里设置300秒

设置成0表示不限时。

 

php生成word文档比excel感觉要方便多了,他只要设置一下头部信息我们就可以直接使用fopen来实现读取操作,下面看几个例子。

php直接用fopen生成的核心代码是

 代码如下 复制代码

<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">'.你的放的数据.'</html>

例子

 代码如下 复制代码

function word($data,$fileName=''){
 if(empty($data)) return '';
 $data='<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">'.$data.'</html>';
 if(empty($fileName)) $fileName=date('YmdHis').'.doc';
 $fp=fopen($fileName,'wb');
 fwrite($fp,$data);
 fclose($fp);
}

示例如下:

 代码如下 复制代码

<?php
$str='<title>利用php创建word文档</title>
 <h1>利用php创建word文档</h1>
 作者:phpernote.com
<hr size=1>
 <p>如果你打开word.doc,看到了这里的介绍,则说明word文档创建成功了。</p>
<p>
<b>版权所有:</b>
<br>www.111cn.net
<hr size=1>';
word($str);

为了方便使用我们把它整理成一个类文件

 代码如下 复制代码

<?php
class word
{
/*
@GNU:GPL
@author axgle <axgle@yahoo.com.cn>
@date 2005.4.20
*/

function start()
{
ob_start();
print'<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="http://www.w3.org/TR/REC-html40">';

}

function save($path)
{

print "</html>";
$data = ob_get_contents();

ob_end_clean();

$this->wirtefile ($path,$data);
}

function wirtefile ($fn,$data)
{

$fp=fopen($fn,"wb");
fwrite($fp,$data);
fclose($fp);
}

}

?>


使用方法超级简单

 代码如下 复制代码


<?php
include("word.php");
$word=new word;

$word->start();
?>

查询mysql数据生成word也是非常的简单我们只要连接数据库,然后把数据库的内容存放在类的$word字段中,然后再利用$word->start();生成即可。

今天发现本站的上一页与下一页出现有问题,上一页没有问题但是在下一页是直接到了本频道最新发布的文章了,按原理应该是文章本身ID的前与后的ID才是上下页吧,下面我来与大家详细讲述一下。

先看个例子

1,2,3,4,5

假如上面5个是ID了,我要对上一页排序直接使用order by id desc ,如我当前ID为3那么出来的是2才对,对下一页我们要用order by id asc得出的排序应该是,4,好了原理就这么简。

sql实现方法

 代码如下 复制代码

上一页

$sql ="Select 字段 from 表名 where id<3 order by id desc limit 1";

下一页

$sql ="Select 字段 from 表名 where id>3 order by id asc limit 1";


得出的结果与我们想的是一样的,好了最后我把自己以前写的一个函数分享给各位。

 代码如下 复制代码

/*
 上一页,下一页
 int $tag 0上一页,1下一页
 int $fid www.111Cn.net
*/
 function nextPre($tag=0,$zid,$fid)
 {
  if( $tag )
  {
   $sql ="Select 字段 from 表名 where id<$fid order by id desc limit 1";
  }
  else
  {
   $sql ="Select 字段 from 表名 where id>$fid order by id asc limit 1";
  }
  //$sql = "Select * from 表名 where order by id desc limit 0,10";
  $result =  mysql_query($sql) or die('query error');
  if( mysql_num_rows( $result ) )
  {
   $rs = mysql_fetch_array( $result );
   return "<a href="".$rs['s_url']."">".$rs['title']."</a>";
  }
  else
  {
   return '没有了';
  }
 }

注意:本站原创教程转载必须注明来源http://www.111cn.net 否则后果自负

[!--infotagslink--]

相关文章

  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果

    本文实例讲述了jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果。分享给大家供大家参考,具体如下:这里演示jQuery实现鼠标移动到链接上,滑动展开/隐藏图片效果,鼠标放在“上一页”“下一页”上,立即浮现出所对应的图...2015-10-30
  • php实现文件下载实例分享

    举一个案例:复制代码 代码如下:<?phpclass Downfile { function downserver($file_name){$file_path = "./img/".$file_name;//转码,文件名转为gb2312解决中文乱码$file_name = iconv("utf-8","gb2312",$file_name...2014-06-07
  • php二维码生成

    本文介绍两种使用 php 生成二维码的方法。 (1)利用google生成二维码的开放接口,代码如下: /** * google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】 * @param strin...2015-10-21
  • Java生成随机姓名、性别和年龄的实现示例

    这篇文章主要介绍了Java生成随机姓名、性别和年龄的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-01
  • C#生成随机数功能示例

    这篇文章主要介绍了C#生成随机数功能,涉及C#数学运算与字符串操作相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • Visual Studio 2015下载和安装图文教程

    这篇文章主要为大家详细介绍了Visual Studio 2015下载和安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
  • jQuery为动态生成的select元素添加事件的方法

    下面小编就为大家带来一篇jQuery为动态生成的select元素添加事件的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-09-01
  • PHP自动生成后台导航网址的最佳方法

    经常制作开发不同的网站的后台,写过很多种不同的后台导航写法。 最终积累了这种最写法,算是最好的吧...2013-09-29
  • php生成唯一数字id的方法汇总

    关于生成唯一数字ID的问题,是不是需要使用rand生成一个随机数,然后去数据库查询是否有这个数呢?感觉这样的话有点费时间,有没有其他方法呢?当然不是,其实有两种方法可以解决。 1. 如果你只用php而不用数据库的话,那时间戳+随...2015-11-24
  • js生成随机数的方法实例

    js生成随机数主要用到了内置的Math对象的random()方法。用法如:Math.random()。它返回的是一个 0 ~ 1 之间的随机数。有了这么一个方法,那生成任意随机数就好理解了。比如实际中我们可能会有如下的需要: (1)生成一个 0 - 1...2015-10-21
  • 如何获取百度搜索结果页中解密之后的真实链接

    大家用百度搜索的时候,可能会发现,结果链接用的还是百度的链接,点击之后才会跳转到另外一个页面,另外一个页面的真实链接如何获取到呢?? 通过分析发现: 可以看出,返回...2016-05-19
  • PHP验证码生成与验证例子

    验证码是一个现在WEB2.0中常见的一个功能了,像注册、登录又或者是留言页面,都需要注册码来验证当前操作者的合法性,我们会看到有些网站没有验证码,但那是更高级的验证了,...2016-11-25
  • PHP生成不同颜色、不同大小的tag标签函数

    复制代码 代码如下:function getTagStyle(){ $minFontSize=8; //最小字体大小,可根据需要自行更改 $maxFontSize=18; //最大字体大小,可根据需要自行更改 return 'font-size:'.($minFontSize+lcg_value()*(abs($maxFo...2013-10-04
  • 在PHP中使用X-SendFile头让文件下载更快

    一般来说, 我们可以通过直接让URL指向一个位于Document Root下面的文件, 来引导用户下载文件.但是, 这样做, 就没办法做一些统计, 权限检查, 等等的工作. 于是, 很多时候, 我们采用让PHP来做转发, 为用户提供文件下载...2014-06-07
  • Javascript前端下载后台传来的文件流代码实例

    这篇文章主要介绍了Javascript前端下载后台传来的文件流代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-08-19
  • C#开发教程之FTP上传下载功能详解

    这篇文章主要为大家详细介绍了C#开发教程之FTP上传下载功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
  • php中利用str_pad函数生成数字递增形式的产品编号

    解决办法:$str=”QB”.str_pad(($maxid[0]["max(id)"]+1),5,”0″,STR_PAD_LEFT ); 其中$maxid[0]["max(id)"]+1) 是利用max函数从数据库中找也ID最大的一个值, ID为主键,不会重复。 str_pad() 函数把字符串填充为指...2013-10-04
  • C#生成Word文档代码示例

    这篇文章主要介绍了C#生成Word文档代码示例,本文直接给出代码实例,需要的朋友可以参考下...2020-06-25
  • ASP.NET中iframe框架点击左边页面链接 右边显示链接页面内容

    这篇文章主要介绍了ASP.NET中iframe框架点击左边页面链接,右边显示链接页面内容的实现代码,感兴趣的小伙伴们可以参考一下...2021-09-22