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就秒 还有带于进一步优化,特别是那获取文章内容时的正则,那个太恶心了
大家可以小研究一下*/
?>