完美

[学习|工作|博客|交流平台|完美起航]

作者头像zyw3272017.05.24 08:51 

javascript的三中弹框模式

<!DOCTYPEhtml> <html> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/> <title>三种弹出对话框的用法实例</title> </head> <scriptlanguage="javascript"> functiondialog() { //这个基本没有什么说的,就是弹出一个提醒的对话框 alert("我敢保证,你现在用的是演示一"); } functioncomfirmbox() { //利用对话框返回的值(true或者false) if(confirm("你确信要转去zyw327的博客?")){ //如果是true,那么就把页面转向thcjp.cnblogs.com location.href="http://blog.okgoes.com/index/blog/lists/uuid/10300003.html"; }else{ //否则说明下了,呵呵 alert("你按了取消,那就是返回false"); } } functioninputbox() { varname=prompt("请输入您的名字","");//将输入的内容赋给变量name, //这里需要注意的是,prompt有两个参数,前面是提示的话,后面是当对话框出来后,在对话框里的默认值 if(name){//如果返回的有内容 alert("欢迎您:"+name) } } </script> <body> <p>对话框有三种</p> <p>1:只是提醒,不能对脚本产生任何改变;</p> <p>2:一般用于确认,返回true或者false,所以可以轻松用于ifelse判断</p> <p>3:一个带输入的对话框,可以返回用户填入的字符串,常见于某些留言本或者论坛输入内容那里的插入UBB格式图片</p> <p>下面我们分别演示:</p> <p>演示一:提醒对话框</p> <p> <inputtype="submit"name="Submit"value="提交"onclick="dialog()"/> </p> <p>演示二:确认对话框</p> <p> <inputtype="submit"name="Submit2"value="提交"onclick="comfirmbox()"/> </p> <p>演示三:要求用户输入,然后给个

javascript 2708 1

作者头像admin2017.05.24 23:41 

php下载文件

php下载文件$filename=basename($sourceFile);//获取文件名字 $outFile_extension=strtolower(substr(strrchr($outFile,"."),1));//获取文件扩展名 //根据扩展名指出输出浏览器格式 switch($outFile_extension){ case"exe": $ctype="application/octet-stream"; break; case"zip": $ctype="application/zip"; break; case"mp3": $ctype="audio/mpeg"; break; case"mpg": $ctype="video/mpeg"; break; case"avi": $ctype="video/x-msvideo"; break; default: $ctype="application/force-download"; } //Beginwritingheaders header("Cache-Control:"); header("Cache-Control:public"); //设置输出浏览器格式 header("Content-Type:$ctype"); header("Content-Disposition:attachment;filename=".$outFile); header("Accept-Ranges:bytes"); $size=filesize($sourceFile); //如果有$_SERVER['HTTP_RANGE']参数 if(isset($_SERVER['HTTP_RANGE'])){ /*Range头域Range头域可以请求实体的一个或者多个子范围。 例如, 表示头500个字节:bytes=0-499 表示第二个500字节:bytes=500-999 表示最后500个字节:bytes=-500 表示500字节以后的范围:bytes=500- 第一个和最后一个字节:bytes=0-0,-1 同时指定几个范围:bytes=500-600,601-999 但是服务器可以忽略此请求头,如果无条件GET包含Range请求头,响应会以状态码206(PartialContent)返回而不是以200(OK)。 */ //断点后再次连接$_SERVER['HTTP_RANGE']的值bytes=4390912- list($a,$range)=explode("=",$_SERVER['HTTP_RANGE']); //ifyes,downloadmissingpart str_replace($range,"-",$range);//这句干什么

PHP 7698 3

作者头像admin2017.05.24 23:36 

删除某个文件夹所有的.svn文件及文件夹

删除某个文件夹所有的.svn文件及文件夹<?php functiondelsvn($dir){ $dh=opendir($dir); //找出所有".svn“的文件夹: while($file=readdir($dh)){ if($file!="."&&$file!=".."){ $fullpath=$dir."/".$file; if(is_dir($fullpath)){ if($file==".svn"){ delsvndir($fullpath); }else{ delsvn($fullpath); } } } } closedir($dh); } functiondelsvndir($svndir){ //先删除目录下的文件: $dh=opendir($svndir); while($file=readdir($dh)){ if($file!="."&&$file!=".."){ $fullpath=$svndir."/".$file; if(is_dir($fullpath)){ delsvndir($fullpath); }else{ unlink($fullpath); } } } closedir($dh); //删除目录文件夹 if(rmdir($svndir)){ returntrue; }else{ returnfalse; } } $dir=dirname(__FILE__); //echo$dir; delsvn($dir); ?>

php 3851 2

作者头像zyw3272017.05.19 18:09 

​redis消息通知(任务队列和发布订阅模式)

1. 任务队列1.1 任务队列的特点任务队列:顾名思义,就是“传递消息的队列”。与任务队列进行交互的实体有两类,一类是生产者(producer),另一类则是消费者(consumer)。生产者将需要处理的任务放入任务队列中,而消费者则不断地从任务独立中读入任务信息并执行。任务队列的好处:松耦合。生产者和消费者只需按照约定的任务描述格式,进行编写代码。易于扩展。多消费者模式下,消费者可以分布在多个不同的服务器中,由此降低单台服务器的负载。1.2 Redis实现任务队列使用Redis实现任务队列首先想到的就是Redis的列表类型,因为在Redis内部,==列表类型是由双向链表实现==的。实现任务队列,只需让生产者将任务使用LPUSH加入到某个键中,然后另一个消费者不断地使用RPOP命令从该键中取出任务即可。//生产者只需将taskLPUSH到队列中127.0.0.1:6379>LPUSHqueuetask (integer)1127.0.0.1:6379>LRANGEqueue0-11)"task"//消费者只需从队列中LPOP任务,如果为空则轮询。127.0.0.1:6379>LPOPqueue"task"12345678BLPOP指令可以在队列为空时处于阻塞状态。就不用处于轮询的状态。127.0.0.1:6379>BLPOPqueue0//0表示无限制等待//消费者当队列为空则处于阻塞状态。//生产者将taskLPUSH到队列中,处于阻塞状态的消费者离开返回127.0.0.1:6379>LPUSHqueuetask (integer)1//消费者立刻“消费”,取出task。127.0.0.1:6379>BLPOPqueue01)"queue"2)"task"(13.38s)12345678910111.3 优先级队列当一个队列中有许多任务仍然没有来得及被消费者及时消费时,如果出现紧急的消息,则不得不等待队列中的任务被一一取出,因此,需要实现一个优先级队列,当优先级队列不为空时,消费者优先取出优先级队列中的任务去执行。BLPOP命令可以同时接收多个键BLPOP key [key ...] timeout,当所有键(列表类型)都为空时,则阻塞,当其中一个有元素则会从该键返回。==如果多个键都有元素则按照从左到右的顺序取第一个键中的一个元素,因此可以借此特性实现优先级队列。==127.0.0.1:6379>LPUSHqueue1first(integer)1127.0.0.1:6379>LPUSHqueue2second(integer)1//当两个键都有元素时,按照从左到右的顺序取第一个键中的一个元素127.0.0.1:6379>BRPOPqueue1queue201)"queue1"2)"first"127.0.0.1:6379>BRPOPqueue1queue201)"queue2"2)"second"1234567891011122. “发布/订阅”模式“发布/订阅”(publish/subscribe)模式同样可以实现进程间通信,==订阅者可以订阅一个或多个频道(channel),而发布者可以向指定的频道发送

redis 6508 0

作者头像zyw3272017.05.19 17:35 

async与await

async与await的用法functiontest(){ returnnewPromise((resolve,reject)=>{ mysql.query(sql,(error,result,fields)=>{ if(error){ reject(error); }else{ resolve([result,fields]); } }) }); } asyncfunctionexceTest(){ returnawaittest(); } vardata=awaitexceTest();async的使用条件:必须是promise对象

NODEJS 3246 5

作者头像zyw3272017.06.02 13:16 

get_magic_quotes_gpc方法的作用

get_magic_quotes_gpc — 获取当前 magic_quotes_gpc 的配置选项设置说明boolget_magic_quotes_gpc(void)返回当前 magic_quotes_gpc 配置选项的设置记住,尝试在运行时设置 magic_quotes_gpc 将不会生效。更多关于 magic_quotes 的信息参见安全一章。返回值如果 magic_quotes_gpc 为关闭时返回 0,否则返回 1。在 PHP 5.4.O 起将始终返回 FALSE 。更新日志版本说明php5.4.0 始终返回 FALSE ,因为这个魔术引号功能已经从 PHP 中移除了。 范例Example #1 get_magic_quotes_gpc() 例子<?php //如果启用了魔术引号 echo$_POST['lastname'];//O\'reilly echoaddslashes($_POST['lastname']);//O\\\'reilly //适用各个PHP版本的用法 if(get_magic_quotes_gpc()){ $lastname=stripslashes($_POST['lastname']); } else{ $lastname=$_POST['lastname']; } //如果使用MySQL $lastname=mysql_real_escape_string($lastname); echo$lastname;//O\'reilly $sql="INSERTINTOlastnames(lastname)VALUES('$lastname')"; ?>注释Note:如果指令 magic_quotes_sybase 为 ON,它会完全覆盖 magic_quotes_gpc。 所以即使 get_magic_quotes_gpc() 返回 TRUE ,双引号、反斜杠或 NUL 都不会被转义。 只有单引号会被转义。 这种情况下它们看上去像:''

PHP 2129 1

作者头像admin2017.05.11 15:58 

java文件流操作

java文件流操作,源码如下:packagecode; importjava.io.File; importjava.io.IOException; publicclassIOStream{ publicstaticvoidmain(String[]args) { Filef=newFile("F:\\test.txt"); //取得文件路径 System.out.println("文件路径为:"+f.getAbsolutePath()); //得到文件的大小 System.out.println("文件的大小为:"+f.length()); System.out.println("文件可读不:"+f.canRead()); Filef1=newFile("F:\\test1.txt"); if(!f1.exists()){ //可以创建 try{ f1.createNewFile(); }catch(IOExceptione){ //TODO自动生成的catch块 e.printStackTrace(); } }else System.out.println("文件已存在!不需要创建!"); Filef2=newFile("F:\\javaFileoper\\test"); if(f2.isDirectory()){ System.out.println("文件夹已存在!"); }else{ //创建文件 f2.mkdir(); } //列出一个文件下的所有文件 Filef3=newFile("F:\\"); if(f3.isDirectory()){ Filelists[]=f3.listFiles(); for(inti=0;i<lists.length;i++){ System.out.println("文件名:"+lists[i].getName()); } } } }

java 9652 5

作者头像admin2017.05.11 15:54 

java连接sql server数据库

java连接sql server数据库packagecode; importjava.sql.Connection; importjava.sql.DriverManager; importjava.sql.PreparedStatement; importjava.sql.ResultSet; importjava.sql.Statement; publicclassDbAdapter{ Connectioncon; Statementsm; ResultSetrs; PreparedStatementps=null; publicstaticvoidmain(String[]args) { DbAdapters=newDbAdapter(); Stringsql="updateuserssetusername='1'whereusername='1'"; s.LinkSql(sql); } publicbooleanLinkSql(Stringsql) { try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=Student","sa","327523057"); sm=con.createStatement(); //添加删除修改数据 //sm.executeUpdate("insertintousersvalues('1','1')"); //sm.executeUpdate("deletefromuserswhereusername='1'"); //sm.executeUpdate("updateuserssetusername='1'whereusername='1'"); rs=sm.executeQuery(sql); if(rs.next()){ returntrue; }else returnfalse; }catch(Exceptione){ e.printStackTrace(); }finally{ try{ if(sm!=null) sm.close(); if(con!=null) con.close(); }catch(Exceptione){ e.printStackTrace(); } } returnfalse; } }需要引入包:sqljdbc.zip引入包可以参考:http://blog.okgoes.com/index/index/detail?id=9&type=blog&

java 3633 3

作者头像admin2017.05.11 15:53 

java求水仙花数

水仙花数是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)。什么是水仙花数水仙花数只是自幂数的一种,严格来说3位数的3次幂数才称为水仙花数。附:其他位数的自幂数名字一位自幂数:独身数两位自幂数:没有三位自幂数:水仙花数四位自幂数:四叶玫瑰数五位自幂数:五角星数六位自幂数:六合数七位自幂数:北斗七星数八位自幂数:八仙数九位自幂数:九九重阳数十位自幂数:十全十美数packagecode; /** * *@authorSmart * */ publicclassNarcissistic{ publicstaticvoidmain(String[]args) { inti,j,k,m; for(m=100;m<1000;m++){ i=m%10; j=((m-i)%100)/10; k=(m-j*10-i)/100; if((k*k*k+j*j*j+i*i*i)==m) System.out.println(m+"是一个水仙花数"); } } }结果如下:153是一个水仙花数 370是一个水仙花数 371是一个水仙花数 407是一个水仙花数

水仙花数 3671 4

作者头像admin2017.05.11 15:53 

java程序求素数

java求素数packagecode; /** * *@authorSmart * */ publicclassPrame{ /** *@paramargsthecommandlinearguments */ publicstaticvoidmain(String[]args) { inta,b; a=0; b=0; for(inti=101;i<=200;i++){ for(intj=2;j<i;j++){ if(i%j==0) a++; } if(a<1){ b++; System.out.println(i); a=0; }else a=0; } //TODOcodeapplicationlogichere System.out.println("101至200之间有"+b+"个素数"); } }优化后的程序packagecode; /** * *@authorSmart * */ publicclassPrameB{ /** *@paramargsthecommandlinearguments */ publicstaticvoidmain(String[]args){ intcount=0; for (inti=101;i<200;i+=2){ booleanb=false; for(intj=2;j<=Math.sqrt(i);j++){ if(i%j==0){ b=false;break; }else b=true; } if(b==true){ count++;System.out.println(i); } } System.out.println("素数个数是:"+count); } }

java 3580 4

a6bfb44cbd5549740eb36647f36ef83a