标签云
asm恢复 bbed bootstrap$ dul In Memory kcbzib_kcrsds_1 kccpb_sanity_check_2 MySQL恢复 ORA-00312 ORA-00607 ORA-00704 ORA-00742 ORA-01110 ORA-01555 ORA-01578 ORA-01595 ORA-08103 ORA-600 2131 ORA-600 2662 ORA-600 3020 ORA-600 4000 ORA-600 4137 ORA-600 4193 ORA-600 4194 ORA-600 16703 ORA-600 kcbzib_kcrsds_1 ORA-600 KCLCHKBLK_4 ORA-15042 ORA-15196 ORACLE 12C oracle dul ORACLE PATCH Oracle Recovery Tools oracle加密恢复 oracle勒索 oracle勒索恢复 oracle异常恢复 Oracle 恢复 ORACLE恢复 ORACLE数据库恢复 oracle 比特币 OSD-04016 YOUR FILES ARE ENCRYPTED 勒索恢复 比特币加密文章分类
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (103)
- 数据库 (1,753)
- DB2 (22)
- MySQL (76)
- Oracle (1,596)
- Data Guard (52)
- EXADATA (8)
- GoldenGate (24)
- ORA-xxxxx (162)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (15)
- ORACLE 21C (3)
- Oracle 23ai (8)
- Oracle ASM (68)
- Oracle Bug (8)
- Oracle RAC (54)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (28)
- Oracle备份恢复 (586)
- Oracle安装升级 (96)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (84)
- PostgreSQL (30)
- pdu工具 (6)
- PostgreSQL恢复 (9)
- SQL Server (31)
- SQL Server恢复 (12)
- TimesTen (7)
- 达梦数据库 (3)
- 达梦恢复 (1)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (38)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (21)
-
最近发表
- 达梦数据库dm.ctl文件异常恢复
- Oracle Recovery Tools修复ORA-00742、ORA-600 ktbair2: illegal inheritance故障
- 可能是 tempdb 空间用尽或某个系统表不一致故障处理
- 11.2.0.4库中遇到ORA-600 kcratr_nab_less_than_odr报错
- [MY-013183] [InnoDB] Assertion failure故障处理
- Oracle 19c 202504补丁(RUs+OJVM)-19.27
- Oracle Recovery Tools修复ORA-600 6101/kdxlin:psno out of range故障
- pdu完美支持金仓数据库恢复(KingbaseES)
- 虚拟机故障引起ORA-00310 ORA-00334故障处理
- pg创建gbk字符集库
- PostgreSQL运行日志管理
- ora-600 kdsgrp1 错误描述
- GAM、SGAM 或 PFS 页上存在页错误处理
- ORA-600 krhpfh_03-1208
- VMware勒索加密恢复(vmdk勒索恢复)
- ORA-39773: parse of metadata stream failed故障处理
- sql数据库备份失败—失败: 23(数据错误(循环冗余检查)
- vmdk文件被加密恢复(虚拟机文件加密)
- 差点被误操作的ORA-600 kcratr_nab_less_than_odr故障
- win平台19c 打patch遭遇2个小问题汇总
分类目录归档:软件开发
php页面跳转
我把blog从http://www.66yj.com/blog迁移到//www.xifenfei.com域名下,当用户访问以前blog地址时,自动跳转到当前blog的对应文章
$url_this=strtolower('http://'.$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]); $go_url=str_replace('http://www.66yj.com/blog','//www.xifenfei.com',$url_this); header("location:$go_url"); exit;
发表在 PHP
评论关闭
js考试系统时间倒计时
js实现时分倒计时、悬浮效果
<html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>无标题页</title> <meta HTTP-EQUIV="Content-Type" content="text/html; charset=gb2312" /> </head> <body onload='ChangeTime();scall();'> <form id="form1"> <!--模拟页面宽度高度--> <div align="center"> <center> <table width="770" height="3000" border="0" cellpadding="0" cellspacing="0" bgcolor="#F4F4F4"> <tr> <td width="100%" valign="top"></td> </tr> </table> </center> </div> <!--弹出时间提示--> <div id="Javascript.RightDiv" style="position: absolute;z-index:1000;width:200px;height:30px;top:-1000px;word-break:break-all;display:none;"> <div id="timeshow" style="width:200px;height:20px;line-height:20px;text-align:center;font-size:12px;color:#000;background-color:#CCC;border:1px solid #333;"></div> </div> <SCRIPT LANGUAGE="JavaScript"> //弹出div var showad = true; var Toppx = 10; //上端位置 var AdDivW = 200; //宽度 var AdDivH = 25; //高度 var PageWidth = 750; //页面多少宽度象素下正好不出现左右滚动条 var MinScreenW = 1000; //最小屏幕宽度象素 function scall(){ if(!showad){return;} var Borderpx = ((window.screen.width-PageWidth)/2-AdDivW)/2; document.getElementById("Javascript.RightDiv").style.display=""; document.getElementById("Javascript.RightDiv").style.top=document.body.scrollTop+Toppx; document.getElementById("Javascript.RightDiv").style.left=document.body.scrollLeft+document.body.clientWidth-document.getElementById("Javascript.RightDiv").offsetWidth-Borderpx; } window.onscroll=scall; window.onresize=scall; //在线考试时间提示 var h=1; //设置考试时间(小时单位) var m=0.1; //设置考试时间(分钟单位) var timeShowId="timeshow"; //设置时间显示层ID var TimeNum=h*60*60+m*60; var timeStr; function ChangeTime() { TimeNum--; if(TimeNum > 0) { timeStr=setTimeout("ChangeTime()",1000); if(TimeNum<300) { alert('距离系统自动提交时间还剩5分钟,请尽快做好提交准备'); } if(TimeNum<30) { alert('距离系统自动提交时间还剩30秒,请马上交卷'); } } else { //系统提交 完善 } document.getElementById(timeShowId).innerHTML="系统提示:你的时间还剩<span style=\"color:#FF0000;\">"+Math.floor(TimeNum/60)+"分"+TimeNum%60+"秒</span>"; } </SCRIPT> </form> </body > </html>
发表在 JavaScript
评论关闭
通过web更新网站(1)
现在维护的网站比较多,经常因为要修改一个小小的东西,要远程登录,或者ftp登录上去下载下来,然后在修改后,再上传上去,总之比较麻烦,我现在总体设想是通过web实现手工的更新网站,既实现通过web下载、上传、删除、编辑。
今天是实现了对整个站点的文件显示,下载和上传到对应目录,为该程序的第一部分
aspx代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!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 runat="server"> <title></title> <script type="text/javascript"> function select_dir() { var select = document.getElementById("selectType"); document.getElementById("h_dir").value = select.options[select.selectedIndex].value; ; } </script> </head> <body> <form id="form1" runat="server"> <input id="h_dir" type="hidden" runat="server"/> <asp:Label ID="lbl_dir" runat="server" ></asp:Label> <asp:Button ID="btn_select" runat="server" Text="查看文件" onclick="btn_select_Click" /> <div style="width:400px; height:500px; overflow:auto"> <asp:Label ID="show_file" runat="server" ></asp:Label> </div> <asp:FileUpload ID="file_up" runat="server" /> <asp:Button ID="btn_up" runat="server" Text="上传文件" onclick="btn_up_Click" /> </form> </body> </html>
cs代码
using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO; using System.Data; using System.Threading; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string web_file=Server.MapPath("."); DirectoryInfo thisOne = new DirectoryInfo(web_file); lbl_dir.Text="<select id='selectType' onclick='select_dir();' ><option value='" + System.Web.HttpContext.Current.Server.UrlEncode(web_file) + "'>网站目录</option>" + ListSelectShow(thisOne, 0, "") + "</select>"; h_dir.Value = System.Web.HttpContext.Current.Server.UrlEncode(web_file); if (Request.QueryString["F"]!=null) { string d_file = System.Web.HttpContext.Current.Server.UrlDecode(Request.QueryString["F"].ToString()); //求文件名 string[] fs = d_file.Split('\\'); string ext = fs[fs.Length - 1]; //下载文件 Page.Response.Clear(); bool success = ResponseFile(Page.Request, Page.Response, ext, d_file, 1024000); if (!success) Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('下载文件失败,请重试');", true); Page.Response.End(); } } } public string ListTreeShow(DirectoryInfo theDir, int nLevel, string Rn)//递归目录和 文件,树形结构显示 { if (nLevel == 0) { FileInfo[] fileInfo = theDir.GetFiles(); foreach (FileInfo fInfo in fileInfo) { Rn += "├"; Rn += "<a href='Default.aspx?F="; Rn = Rn + System.Web.HttpContext.Current.Server.UrlEncode(fInfo.FullName); Rn += "'>"; Rn += fInfo.Name.ToString() + "</a> <br />"; } } DirectoryInfo[] subDirectories = theDir.GetDirectories();//获得目录 foreach (DirectoryInfo dirinfo in subDirectories) { if (nLevel == 0) { Rn += "├"; } else { string _s = ""; for (int i = 1; i <= nLevel; i++) { _s += "│ "; } Rn += _s + "├"; } Rn += "<b>" + dirinfo.Name.ToString() + "</b><br />"; FileInfo[] fileInfo = dirinfo.GetFiles(); //目录下的文件 foreach (FileInfo fInfo in fileInfo) { if (nLevel == 0) { Rn += "│ ├"; } else { string _f = ""; for (int i = 1; i <= nLevel; i++) { _f += "│ "; } Rn += _f + "│ ├"; } Rn += "<a href='Default.aspx?F="; Rn = Rn + System.Web.HttpContext.Current.Server.UrlEncode(fInfo.FullName); Rn += "'>"; Rn += fInfo.Name.ToString() + "</a><br />"; } Rn = ListTreeShow(dirinfo, nLevel + 1, Rn); } return Rn; } public static string ListSelectShow(DirectoryInfo theDir, int nLevel, string Rn)//递归目录下拉框显示 { DirectoryInfo[] subDirectories = theDir.GetDirectories();//获得目录 foreach (DirectoryInfo dirinfo in subDirectories) { Rn += "<option value=\"" +System.Web.HttpContext.Current.Server.UrlEncode( dirinfo.FullName) + "\" >"; if (nLevel == 0) { Rn += "├"; } else { string _s = ""; for (int i = 1; i <= nLevel; i++) { _s += "│ "; } Rn += _s + "├"; } Rn += "" + dirinfo.Name.ToString() + "</option>"; Rn = ListSelectShow(dirinfo, nLevel + 1, Rn); } return Rn; } protected void btn_select_Click(object sender, EventArgs e) { string first_dir = System.Web.HttpContext.Current.Server.UrlDecode(h_dir.Value); DirectoryInfo thisOne = new DirectoryInfo(first_dir); show_file.Text = ListTreeShow(thisOne, 0, ""); } public bool ResponseFile(HttpRequest _Request, HttpResponse _Response, string _fileName, string _fullPath, long _speed)//下载文件 { try { FileStream myFile = new FileStream(_fullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); BinaryReader br = new BinaryReader(myFile); try { _Response.AddHeader("Accept-Ranges", "bytes"); _Response.Buffer = false; long fileLength = myFile.Length; long startBytes = 0; double pack = 10240; //10K bytes //int sleep = 200; //每秒5次 即5*10K bytes每秒 int sleep = (int)Math.Floor(1000 * pack / _speed) + 1; if (_Request.Headers["Range"] != null) { _Response.StatusCode = 206; string[] range = _Request.Headers["Range"].Split(new char[] { '=', '-' }); startBytes = Convert.ToInt64(range[1]); } _Response.AddHeader("Content-Length", (fileLength - startBytes).ToString()); if (startBytes != 0) { //Response.AddHeader("Content-Range", string.Format(" bytes {0}-{1}/{2}", startBytes, fileLength-1, fileLength)); } _Response.AddHeader("Connection", "Keep-Alive"); _Response.ContentType = "application/octet-stream"; _Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(_fileName, System.Text.Encoding.UTF8)); br.BaseStream.Seek(startBytes, SeekOrigin.Begin); int maxCount = (int)Math.Floor((fileLength - startBytes) / pack) + 1; for (int i = 0; i < maxCount; i++) { if (_Response.IsClientConnected) { _Response.BinaryWrite(br.ReadBytes(int.Parse(pack.ToString()))); Thread.Sleep(sleep); } else { i = maxCount; } } } catch { return false; } finally { br.Close(); myFile.Close(); } } catch { return false; } return true; } protected void btn_up_Click(object sender, EventArgs e) { if (file_up.HasFile) { try { string path = System.Web.HttpContext.Current.Server.UrlDecode(h_dir.Value); string file = file_up.FileName; file_up.SaveAs(path + "/" + file); DirectoryInfo thisOne = new DirectoryInfo(path); show_file.Text = ListTreeShow(thisOne, 0, ""); } catch { Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('上传文件失败,请重试');", true); } } else { Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('请选择文件');", true); } } }
发表在 Asp.Net
评论关闭