ajax 级联动菜单代码

 更新时间:2016年11月25日 16:00  点击:1412

ajax 级联动菜单代码
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>ajax2级联动菜单演示</title>
<script language="javascript">
var http_request=false;
  function send_request(url){//初始化,指定处理函数,发送请求的函数
    http_request=false;
 //开始初始化XMLHttpRequest对象
 if(window.XMLHttpRequest){//Mozilla浏览器
  http_request=new XMLHttpRequest();
  if(http_request.overrideMimeType){//设置MIME类别
    http_request.overrideMimeType("text/xml");
  }
 }
 else if(window.ActiveXObject){//IE浏览器
  try{
   http_request=new ActiveXObject("Msxml2.XMLHttp");
  }catch(e){
   try{
   http_request=new ActiveXobject("Microsoft.XMLHttp");
   }catch(e){}
  }
    }
 if(!http_request){//异常,创建对象实例失败
  window.alert("创建XMLHttp对象失败!");
  return false;
 }
 http_request.onreadystatechange=processrequest;
 //确定发送请求方式,URL,及是否同步执行下段代码
    http_request.open("GET",url,true);
 http_request.send(null);
  }
  //处理返回信息的函数
  function processrequest(){
   if(http_request.readyState==4){//判断对象状态
     if(http_request.status==200){//信息已成功返回,开始处理信息
   document.getElementById(reobj).innerHTML=http_request.responseText;
  }
  else{//页面不正常
   alert("您所请求的页面不正常!");
  }
   }
  }
  function getclass(obj){
   var pid=document.form1.select1.value;
   document.getElementById(obj).innerHTML="<option>loading...</option>";
   send_request('doclass.php?pid='+pid);
   reobj=obj;
  }
 
</script>
</head>

<body>
<form name="form1">
<select name="select1" id="class1" style="width:100;" onChange="getclass('class2');">
  <option selected="selected"></option>
  <option value="1">大类1</option>
  <option value="2">大类2</option>
</select>
<select name="select2"id="class2" style="width:100;">
</select>
</form>
<?php

  header("Content-type: text/html;charset=GBK");//输出编码,避免中文乱码
  $pid=$_GET['pid'];

  $db=mysql_connect("localhost","root","7529639"); //创建数据库连接
  mysql_query("set names 'GBK'");
  mysql_select_db("menuclass");
  $sql="select classname from menu where parentid=".$pid."";
  $result=mysql_query($sql);
 
  //循环列出选项
  while($rows=mysql_fetch_array($result)){
   echo '<option>';
      echo $rows['classname'];
   echo "</option>n";
  }

?>
</body>
</html>

php 入门型-文件上传代码
<?php
 
 if(!empty($_FILES["uploadImage"])) {
    // get file name
  $filename = basename($_FILES['uploadImage']['name']);
  
  // get extension
    $ext = substr($filename, strrpos($filename, '.') + 1);
    
    // check for jpg only
    if ($ext == "jpg") {
        // generate unique file name
     $newName = 'images/'.time().'.'.$ext;
     
     // upload files
         if ((move_uploaded_file($_FILES['uploadImage']['tmp_name'], $newName))) {
   
          // get height and width for image uploaded
          list($width, $height) = getimagesize($newName);
          
          // return json data
             echo '{"image" : "'.$newName.'", "height" : "'.$height.'", "width" : "'.$width.'" }';
         }
         else {
             echo '{"error" : "An error occurred while moving the files"}';
         }
    }
    else {
       echo '{"error" : "Invalid image format"}';
    }
 }
?>

Ffmpeg
得到文件

下载好之后首先就是配置一下环境变量

我下载的放在了D盘跟目录

D:oracleproduct10.2.0client_1bin;D:oracleproduct10.2.0db_1bin;%SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem;C:Program FilesJavajdk1.7.0bin;C:Program FilesATI TechnologiesATI.ACECore-Static;C:Program FilesCommon FilesThunder NetworkKanKanCodecs;D:Program FilesTortoiseSVNbin;C:Program FilesMicrosoft SQL Server90Toolsbinn;D:ffmpeg

配的有点多,最后那个就是我的ffmpeg

配置好之后就先在Dos中测试下

打开Dos界面 输入 ffmpeg

如果成功的话会显示好多的命令

如果失败则显示 你输入的不是内部命令之类的。

如果失败就看看自己的环境变量是否配置OK

OK之后先在Dos下测试是否能成功转换

首先在一个目录放入一个视频

我在D盘跟目录放入了Demo.avi 视频,我将要转换为Flv

输入命令:ffmpeg -i D:/Demo.avi  D:/Demo..flv

-i 后面紧跟的是要转换的文件地址 在后是你要把文件转换到哪里以及相对应的文件名和格式

输入命令之后回车,看看相对应的目录是否出现了你需要的转换后的文件。

如果失败检查命令是否错误。

PHP中执行转换的命令

//转换为Flv
function makeFlv($video_file,$flv_file)
{
//判断给定的文件是否正常
if(!is_file($video_file)){
  return false;
}

global $flv_msg;
    $flv_cmd="ffmpeg -i ".$video_file." ".$flv_file;
    exec($flv_cmd,$flv_msg);
}

//创建flv视频的图片
function makeFlvPic($flv_file,$flv_pic_file)
{
global $flv_msg;

    $flv_pic_cmd="ffmpeg -i ".$flv_file.
       " -y -f image2 ".
       " -ss 1 ".
       " -t 0.001 ".
       " -s 350x240 ".$flv_pic_file;

    exec($flv_pic_cmd,$flv_msg);
}

php 国家代码查询函数
<?php
function transCountryCode($code) {
    $index=array('AA'=>'阿鲁巴',
    'AD'=>'安道尔',
    'AE'=>'阿联酋',
    'AF'=>'阿富汗',
    'AG'=>'安提瓜和巴布达',
    'AL'=>'阿尔巴尼亚',
    'AM'=>'亚美尼亚',
    'AN'=>'荷属安德列斯',
    'AO'=>'安哥拉',
    'AQ'=>'南极洲',
    'AR'=>'阿根廷',
    'AS'=>'东萨摩亚',
    'AT'=>'奥地利',
    'AU'=>'澳大利亚',
    'AZ'=>'阿塞拜疆',
    'Av'=>'安圭拉岛',
    'BA'=>'波黑',
    'BB'=>'巴巴多斯',
    'BD'=>'孟加拉',
    'BE'=>'比利时',
    'BF'=>'巴哈马',
    'BF'=>'布基纳法索',
    'BG'=>'保加利亚',
    'BH'=>'巴林',
    'BI'=>'布隆迪',
    'BJ'=>'贝宁',
    'BM'=>'百慕大',
    'BN'=>'文莱布鲁萨兰',
    'BO'=>'玻利维亚',
    'BR'=>'巴西',
    'BS'=>'巴哈马',
    'BT'=>'不丹',
    'BV'=>'布韦岛',
    'BW'=>'博茨瓦纳',
    'BY'=>'白俄罗斯',
    'BZ'=>'伯里兹',
    'CA'=>'加拿大',
    'CB'=>'柬埔寨',
    'CC'=>'可可斯群岛',
    'CD'=>'刚果',
    'CF'=>'中非',
    'CG'=>'刚果',
    'CH'=>'瑞士',
    'CI'=>'象牙海岸',
    'CK'=>'库克群岛',
    'CL'=>'智利',
    'CM'=>'喀麦隆',
    'CN'=>'中国',
    'CO'=>'哥伦比亚',
    'CR'=>'哥斯达黎加',
    'CS'=>'捷克斯洛伐克',
    'CU'=>'古巴',
    'CV'=>'佛得角',
    'CX'=>'圣诞岛',
    'CY'=>'塞普路斯',
    'CZ'=>'捷克',
    'DE'=>'德国',
    'DJ'=>'吉布提',
    'DK'=>'丹麦',
    'DM'=>'多米尼加共和国',
    'DO'=>'多米尼加联邦',
    'DZ'=>'阿尔及利亚',
    'EC'=>'厄瓜多尔',
    'EE'=>'爱沙尼亚',
    'EG'=>'埃及',
    'EH'=>'西撒哈拉',
    'ER'=>'厄立特里亚',
    'ES'=>'西班牙',
    'ET'=>'埃塞俄比亚',
    'FI'=>'芬兰',
    'FJ'=>'斐济',
    'FK'=>'福兰克群岛',
    'FM'=>'米克罗尼西亚',
    'FO'=>'法罗群岛',
    'FR'=>'法国',
    'FX'=>'法国-主教区',
    'GA'=>'加蓬',
    'GB'=>'英国',
    'GD'=>'格林纳达',
    'GE'=>'格鲁吉亚',
    'GF'=>'法属圭亚那',
    'GH'=>'加纳',
    'GI'=>'直布罗陀',
    'GL'=>'格陵兰岛',
    'GM'=>'冈比亚',
    'GN'=>'几内亚',
    'GP'=>'法属德洛普群岛',
    'GQ'=>'赤道几内亚',
    'GR'=>'希腊',
    'GS'=>'S. Georgia and S. Sandwich Isls.',
    'GT'=>'危地马拉',
    'GU'=>'关岛',
    'GW'=>'几内亚比绍',
    'GY'=>'圭亚那',
    'HK'=>'中国香港特区',
    'HM'=>'赫德和麦克唐纳群岛',
    'HN'=>'洪都拉斯',
    'HR'=>'克罗地亚',
    'HT'=>'海地',
    'HU'=>'匈牙利',
    'ID'=>'印度尼西亚',
    'IE'=>'爱尔兰',
    'IL'=>'以色列',
    'IN'=>'印度',
    'IO'=>'英属印度洋领地',
    'IQ'=>'伊拉克',
    'IR'=>'伊朗',
    'IS'=>'冰岛',
    'IT'=>'意大利',
    'JM'=>'牙买加',
    'JO'=>'约旦',
    'JP'=>'日本',
    'KE'=>'肯尼亚',
    'KG'=>'吉尔吉斯斯坦',
    'KH'=>'柬埔寨',
    'KI'=>'基里巴斯',
    'KM'=>'科摩罗',
    'KN'=>'圣基茨和尼维斯',
    'KP'=>'韩国',
    'KR'=>'朝鲜',
    'KW'=>'科威特',
    'KY'=>'开曼群岛',
    'KZ'=>'哈萨克斯坦',
    'LA'=>'老挝',
    'LB'=>'黎巴嫩',
    'LC'=>'圣卢西亚',
    'LI'=>'列支顿士登',
    'LK'=>'斯里兰卡',
    'LR'=>'利比里亚',
    'LS'=>'莱索托',
    'LT'=>'立陶宛',
    'LU'=>'卢森堡',
    'LV'=>'拉托维亚',
    'LY'=>'利比亚',
    'MA'=>'摩洛哥',
    'MC'=>'摩纳哥',
    'MD'=>'摩尔多瓦',
    'MG'=>'马达加斯加',
    'MH'=>'马绍尔群岛',
    'MK'=>'马其顿',
    'ML'=>'马里',
    'MM'=>'缅甸',
    'MN'=>'蒙古',
    'MO'=>'中国澳门特区',
    'MP'=>'北马里亚纳群岛',
    'MQ'=>'法属马提尼克群岛',
    'MR'=>'毛里塔尼亚',
    'MS'=>'蒙塞拉特岛',
    'MT'=>'马耳他',
    'MU'=>'毛里求斯',
    'MV'=>'马尔代夫',
    'MW'=>'马拉维',
    'MX'=>'墨西哥',
    'MY'=>'马来西亚',
    'MZ'=>'莫桑比克',
    'NA'=>'纳米比亚',
    'NC'=>'新卡里多尼亚',
    'NE'=>'尼日尔',
    'NF'=>'诺福克岛',
    'NG'=>'尼日利亚',
    'NI'=>'尼加拉瓜',
    'NL'=>'荷兰',
    'NO'=>'挪威',
    'NP'=>'尼泊尔',
    'NR'=>'瑙鲁',
    'NT'=>'中立区(沙特-伊拉克间)',
    'NU'=>'纽爱',
    'NZ'=>'新西兰',
    'OM'=>'阿曼',
    'PA'=>'巴拿马',
    'PE'=>'秘鲁',
    'PF'=>'法属玻里尼西亚',
    'PG'=>'巴布亚新几内亚',
    'PH'=>'菲律宾',
    'PK'=>'巴基斯坦',
    'PL'=>'波兰',
    'PM'=>'圣皮艾尔和密克隆群岛',
    'PN'=>'皮特克恩岛',
    'PR'=>'波多黎各',
    'PT'=>'葡萄牙',
    'PW'=>'帕劳',
    'PY'=>'巴拉圭',
    'QA'=>'卡塔尔',
    'RE'=>'法属尼留旺岛',
    'RO'=>'罗马尼亚',
    'RU'=>'俄罗斯',
    'RW'=>'卢旺达',
    'SA'=>'沙特阿拉伯',
    'SC'=>'塞舌尔',
    'SD'=>'苏丹',
    'SE'=>'瑞典',
    'SG'=>'新加坡',
    'SH'=>'圣赫勒拿',
    'SI'=>'斯罗文尼亚',
    'SJ'=>'斯瓦尔巴特和扬马延岛',
    'SK'=>'斯洛伐克',
    'SL'=>'塞拉利昂',
    'SM'=>'圣马力诺',
    'SN'=>'塞内加尔',
    'SO'=>'索马里',
    'SR'=>'苏里南',
    'ST'=>'圣多美和普林西比',
    'SU'=>'前苏联',
    'SV'=>'萨尔瓦多',
    'SY'=>'叙利亚',
    'SZ'=>'斯威士兰',
    'Sb'=>'所罗门群岛',
    'TC'=>'特克斯和凯科斯群岛',
    'TD'=>'乍得',
    'TF'=>'法国南部领地',
    'TG'=>'多哥',
    'TH'=>'泰国',
    'TJ'=>'塔吉克斯坦',
    'TK'=>'托克劳群岛',
    'TM'=>'土库曼斯坦',
    'TN'=>'突尼斯',
    'TO'=>'汤加',
    'TP'=>'东帝汶',
    'TR'=>'土尔其',
    'TT'=>'特立尼达和多巴哥',
    'TV'=>'图瓦卢',
    'TW'=>'中国台湾省',
    'TZ'=>'坦桑尼亚',
    'UA'=>'乌克兰',
    'UG'=>'乌干达',
    'UK'=>'英国',
    'UM'=>'美国海外领地',
    'US'=>'美国',
    'UY'=>'乌拉圭',
    'UZ'=>'乌兹别克斯坦',
    'VA'=>'梵蒂岗',
    'VC'=>'圣文森特和格陵纳丁斯',
    'VE'=>'委内瑞拉',
    'VG'=>'英属维京群岛',
    'VI'=>'美属维京群岛',
    'VN'=>'越南',
    'VU'=>'瓦努阿鲁',
    'WF'=>'瓦里斯和福图纳群岛',
    'WS'=>'西萨摩亚',
    'YE'=>'也门',
    'YT'=>'马约特岛',
    'YU'=>'南斯拉夫',
    'ZA'=>'南非',
    'ZM'=>'赞比亚',
    'ZR'=>'扎伊尔',
    'ZW'=>'津巴布韦');
    $code=strtoupper($code);
    $name=$index[$code];
    if (empty($name)) {
        return null;
    }
    return $name;
}
?>


<?php
//包含PHP Simple html Dom 类库文件
include_once('./simplehtmldom/simple_html_dom.php');
//采集html
function getwebcontent($url){
$ch = curl_init();
$timeout = 10;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
$contents = trim(curl_exec($ch));
curl_close($ch);
return $contents;
}

//获得标题和url
$string =
getwebcontent('http://www.babytree.com/learn/zhunbeihuaiyun/jijibeiyun/2');
//正则匹配<li>获取标题和地址
preg_match_all ("/<li><a href="/learn/article/(.*)">(.*)</a>/",
$string, $out, PREG_SET_ORDER);
foreach($out as $key => $value){
$article['title'][] = $out[$key][2];
$article['link'][] = "http://www.babytree.com/learn/article/".$out[$key][1];
}
//根据url获取文章内容
foreach($article['link'] as $key=>$value){
$html = file_get_html($value);
$div = $html->find('div[id=pagenum_0]');
$article[content][] = $div[0]->innertext;
}
//标题转码---真正用的时候不用这步--因为咱本来就要用utf8的
//不转码还真不能保存成文件
foreach($article[title] as $key=>$value){
$article[title][$key] = iconv('utf-8', 'gbk', $value);//转码
}
//存入文件
$num = count($article['title']);
for($i=0; $i<$num; $i++){
file_put_contents("{$article[title][$i]}.txt", $article['content'][$i]);
}
/*本来想12点之前发的。。但小看一下都3点半了。。。 就算昨天的吧
本来获取文章内容时用正则是最好的,速度也是最快的,
奈何正则是好,但正则表达式是真难!于是乎小查了一下,
网上也有很多人也在用PHP Simple Dom 虽然效率慢了点,但效果还是不错的
从包含类库文件到写入txt文件 大概是7/8就秒 还有带于进一步优化,特别是那获取文章内容时的正则,那个太恶心了
大家可以小研究一下*/
?>

[!--infotagslink--]

相关文章

  • 不打开网页直接查看网站的源代码

      有一种方法,可以不打开网站而直接查看到这个网站的源代码..   这样可以有效地防止误入恶意网站...   在浏览器地址栏输入:   view-source:http://...2016-09-20
  • php 调用goolge地图代码

    <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
  • jQuery实现非常实用漂亮的select下拉菜单选择效果

    本文实例讲述了jQuery实现非常实用漂亮的select下拉菜单选择效果。分享给大家供大家参考,具体如下:先来看如下运行效果截图:在线演示地址如下:http://demo.jb51.net/js/2015/js-select-chose-style-menu-codes/具体代码如...2015-11-08
  • JS基于Mootools实现的个性菜单效果代码

    本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
  • JS实现的简洁纵向滑动菜单(滑动门)效果

    本文实例讲述了JS实现的简洁纵向滑动菜单(滑动门)效果。分享给大家供大家参考,具体如下:这是一款纵向布局的CSS+JavaScript滑动门代码,相当简洁的手法来实现,如果对颜色不满意,你可以试着自己修改CSS代码,这个滑动门将每一...2015-10-21
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • JS实现自定义简单网页软键盘效果代码

    本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
  • php 取除连续空格与换行代码

    php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • PHP实现清除wordpress里恶意代码

    公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
  • JS实现双击屏幕滚动效果代码

    本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
  • JS日期加减,日期运算代码

    一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
  • jQuery实现下拉菜单滑动效果

    这篇文章主要为大家详细介绍了jQuery实现下拉菜单滑动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-08-09
  • jQuery实现有动画淡出效果的二级折叠菜单代码

    本文实例讲述了jQuery实现有动画淡出效果的二级折叠菜单代码。分享给大家供大家参考,具体如下:这里介绍jQuery实现有动画淡出效果的二级折叠菜单代码,相当不错,因考虑功能的实现,所以没有怎么美化,不过这样也好,可以给大家更...2015-10-21
  • PHP开发微信支付的代码分享

    微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。然后,因为在微信中是通过JS方式调用API,必须在微信后台设置支付授权目录,而且要到...2014-05-31
  • PHP常用的小程序代码段

    本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
  • php怎么用拼音 简单的php中文转拼音的实现代码

    小编分享了一段简单的php中文转拼音的实现代码,代码简单易懂,适合初学php的同学参考学习。 代码如下 复制代码 <?phpfunction Pinyin($_String...2017-07-06
  • php导出csv格式数据并将数字转换成文本的思路以及代码分享

    php导出csv格式数据实现:先定义一个字符串 存储内容,例如 $exportdata = '规则111,规则222,审222,规222,服2222,规则1,规则2,规则3,匹配字符,设置时间,有效期'."/n";然后对需要保存csv的数组进行foreach循环,例如复制代...2014-06-07
  • ecshop商品无限级分类代码

    ecshop商品无限级分类代码 function cat_options($spec_cat_id, $arr) { static $cat_options = array(); if (isset($cat_options[$spec_cat_id]))...2016-11-25