JS读取/创建本地文件及目录文件夹的方法
原文链接:http://www.cnblogs.com/ayan/archive/2013/04/22/3036072.html
注:以下操作只在IE下有效!
Javascript是网页制作中离不开的脚本语言,依靠它,一个网页的内容才生动活泼、富有朝气。但也许你还没有发现并应用它的一些更高级的功能吧?比如,对文件和文件夹进行读、写和删除,就象在VB、VC等高级语言中经常做的工作一样。怎么样,你是否需要了解这方面的知识?那就请跟我来,本文将详细描述如何使用Javascript语言进行文件操作。
一、功能实现核心:FileSystemObject 对象
其实,要在Javascript中实现文件操作功能,主要就是依靠FileSystemobject对象。在详细介绍FileSystemobject对象的各个属性和方法的使用细节前,先来看看这个对象包括哪些相关对象和集合:
二、FileSystemObject编程三部曲
使用FileSystemObject 对象进行编程很简单,一般要经过如下的步骤: 创建FileSystemObject对象、应用相关方法、访问对象相关属性 。
(一)创建FileSystemObject对象
创建FileSystemObject对象的代码只要1行:
1 var fso = new ActiveXObject("Scripting.FileSystemObject");
上述代码执行后,fso就成为一个FileSystemObject对象实例。
(二)应用相关方法
创建对象实例后,就可以使用对象的相关方法了。比如,使用CreateTextFile方法创建一个文本文件:
1 var fso = new ActiveXObject("Scripting.FileSystemObject");
2 var f1 = fso.createtextfile("E:\\myjstest.txt",true");
(三)访问对象相关属性
要访问对象的相关属性,首先要建立指向对象的句柄,这就要通过get系列方法实现:GetDrive负责获取驱动器信息,GetFolder负责获取文件夹信息,GetFile负责获取文件信息。比如,指向下面的代码后,f1就成为指向文件c:\test.txt的句柄:
1 var fso = new ActiveXObject("Scripting.FileSystemObject");
2 var f1 = fso.GetFile("E:\\myjstest.txt");
然后,使用f1访问对象的相关属性。比如:
1 var fso = new ActiveXObject("Scripting.FileSystemObject");
2 var f1 = fso.GetFile("E:\\myjstest.txt");
3 alert("文件最后创建日期: " + f1.DateLastModified);
执行上面最后一句后,将显示E:\myjstest.txt的最后修改日期属性值。
但有一点请注意:对于使用create方法建立的对象,就不必再使用get方法获取对象句柄了,这时直接使用create方法建立的句柄名称就可以:
1 var fso = new ActiveXObject("Scripting.FileSystemObject");
2 var f1 = fso.createtextfile("E:\\myjstest.txt",true");
3 alert("文件最后创建日期: " + f1.DateLastModified);
三、操作驱动器(Drives)
使用FileSystemObject对象来编程操作驱动器(Drives)和文件夹(Folders)很容易,这就象在Windows文件浏览器中对文件进行交互操作一样,比如:拷贝、移动文件夹,获取文件夹的属性。
(一)Drives对象属性
Drive对象负责收集系统中的物理或逻辑驱动器资源内容,它具有如下属性:
TotalSize:以字节(byte)为单位计算的驱动器大小。
AvailableSpace或FreeSpace:以字节(byte)为单位计算的驱动器可用空间。
DriveLetter:驱动器字母。
DriveType:驱动器类型,取值为:removable(移动介质)、fixed(固定介质)、network(网络资源)、CD-ROM或者RAM盘。
SerialNumber:驱动器的系列码。
FileSystem:所在驱动器的文件系统类型,取值为FAT、FAT32和NTFS。
IsReady:驱动器是否可用。
ShareName:共享名称。
VolumeName:卷标名称。
Path和RootFolder:驱动器的路径或者根目录名称。
(二)Drive对象操作例程
下面的例程显示驱动器C的卷标、总容量和可用空间等信息:
1 <script type="text/javascript">
2 var fso, drv, s ="";
3 fso = new ActiveXObject("Scripting.FileSystemObject");
4 drv = fso.GetDrive(fso.GetDriveName("E:\\"));
5 s += "E盘:" + " - \n";
6 s += "硬盘大小:" + Math.floor(drv.TotalSize / 1024/1024/1024);
7 s += " GB" + "\n";
8 s += "硬盘可用空间:" + Math.floor(drv.FreeSpace / 1024/1024/1024);
9 s += " GB" + "\n";
10 s += "硬盘可用空间:" + Math.floor(drv.AvailableSpace / 1024/1024/1024);
11 s += " GB" + "\n";
12 s += "驱动器盘符:" + drv.DriveLetter+"盘\n";
13 s += "驱动器类型:" +drv.DriveType+"\n";
14 s += "驱动器的系列码:" +drv.SerialNumber+"\n";
15 s += "驱动器的文件系统类型:" +drv.FileSystem+"\n";
16 s += "驱动器是否可用:" +drv.IsReady+"\n";
17 s += "共享名称:" +drv.ShareName+"\n";
18 s += "卷标名称:" +drv.VolumeName+"\n";
19 s += "驱动器的路径或者根目录名称:" +drv.Path+"\n";
20 s += "驱动器的路径或者根目录名称:" +drv.RootFolder+"\n";
21 alert(s);
22 </script>
四、操作文件夹(Folders)
涉及到文件夹的操作包括创建、移动、删除以及获取相关属性。
(一)Folder对象的相关属性和方法列表
(二)Folder对象操作例程
下面的例程将练习获取父文件夹名称、创建文件夹、删除文件夹、判断是否为根目录等操作:
1 var fso, fldr, s = "";
2 // 创建FileSystemObject对象实例
3 fso = new ActiveXObject("Scripting.FileSystemObject");
4 // 获取Drive 对象
5 fldr = fso.GetFolder("E:\\");
6 // 显示父目录名称
7 alert("父目录是: " + fldr + "\n");
8 // 显示所在drive名称
9 alert("盘符是: " + fldr.Drive + "\n");
10 // 判断是否为根目录
11 if (fldr.IsRootFolder)
12 alert("这是根目录.");
13 else
14 alert("这不是根目录.");
15 // 创建新文件夹
16 fso.CreateFolder ("E:\\html");
17 alert("创建文件夹 E:\\html" + "\n");
18 // 显示文件夹基础名称,不包含路径名
19 alert("Basename = " + fso.GetBaseName("E:\\html") + "\n");
20 // 删除创建的文件夹
21 fso.DeleteFolder ("E:\\html");
22 alert("删除文件夹 E:\\html" + "\n");
五、操作文件(Files)
对文件进行的操作要比以上介绍的驱动器(Drive)和文件夹(Folder)操作复杂些,基本上分为以下两个类别:对文件的创建、拷贝、移动、删除操作和对文件内容的创建、添加、删除和读取操作。下面分别详细介绍。
(一)创建文件
一共有3种方法可用于创建一个空文本文件,这种文件有时候也叫做文本流(text stream)。
第一种是使用CreateTextFile方法。代码如下:
1 var fso, f1;
2 fso = new ActiveXObject("Scripting.FileSystemObject");
3 f1 = fso.CreateTextFile("E:\\testfile.txt", true);
第二种是使用OpenTextFile方法,并添加上ForWriting属性,ForWriting的值为2。代码如下:
1 var fso, ts;
2 var ForWriting= 2;
3 fso = new ActiveXObject("Scripting.FileSystemObject");
4 ts = fso.OpenTextFile("E:\\test.txt", ForWriting, true);
第三种是使用OpenAsTextStream方法,同样要设置好ForWriting属性。代码如下:
1 var fso, f1, ts;
2 var ForWriting = 2;
3 fso = new ActiveXObject("Scripting.FileSystemObject");
4 fso.CreateTextFile ("E:\\test1.txt");
5 f1 = fso.GetFile("E:\\test1.txt");
6 ts = f1.OpenAsTextStream(ForWriting, true);
(二)添加数据到文件
当文件被创建后,一般要按照“打开文件→填写数据→关闭文件”的步骤实现添加数据到文件的目的。
打开文件可使用FileSystemObject对象的OpenTextFile方法,或者使用File对象的OpenAsTextStream方法。
填写数据要使用到TextStream对象的Write、WriteLine或者WriteBlankLines方法。在同是实现写入数据的功能下,这3者的区别在于:Write方法不在写入数据末尾添加新换行符,WriteLine方法要在最后添加一个新换行符,而WriteBlankLines则增加一个或者多个空行。
关闭文件可使用TextStream对象的Close方法。
(三)创建文件及添加数据例程
下面的代码将创建文件、添加数据、关闭文件几个步骤结合起来进行应用:
1 var fso, tf;
2 fso = new ActiveXObject("Scripting.FileSystemObject");
3 // 创建新文件
4 tf = fso.CreateTextFile("E:\\testfile.txt", true);
5 // 填写数据,并增加换行符
6 tf.WriteLine("Testing 1, 2, 3.") ;
7 // 增加3个空行
8 tf.WriteBlankLines(3);
9 // 填写一行,不带换行符
10 tf.Write ("我是深情小建.");
11 // 关闭文件
12 tf.Close();
(四)读取文件内容
从文本文件中读取数据要使用TextStream对象的Read、ReadLine或ReadAll 方法。Read方法用于读取文件中指定数量的字符;ReadLine方法读取一整行,但不包括换行符;ReadAll方法则读取文本文件的整个内容。读取的内容存放于字符串变量中,用于显示、分析。在使用Read或ReadLine方法读取文件内容时,如果要跳过一些部分,就要用到Skip或SkipLine方法。
下面的代码演示打开文件、填写数据,然后读取数据:
1 var fso, f1, ts, s;
2 var ForReading = 1;
3 fso = new ActiveXObject("Scripting.FileSystemObject");
4 // 创建文件
5 f1 = fso.CreateTextFile("E:\\testfile.txt", true);
6 // 填写一行数据
7 f1.WriteLine("我是深情小建");
8 f1.WriteBlankLines(1);
9 // 关闭文件
10 f1.Close();
11 // 打开文件
12 ts = fso.OpenTextFile("E:\\testfile.txt", ForReading);
13 // 读取文件一行内容到字符串
14 s = ts.ReadLine();
15 // 显示字符串信息
16 alert("文件信息是: ‘" + s + "‘");
17 // 关闭文件
18 ts.Close();
(五)移动、拷贝和删除文件
对于以上三种文件操作,Javascript各有两种对应的方法:File.Move 或 FileSystemObject.MoveFile用于移动文件;File.Copy 或FileSystemObject.CopyFile用于拷贝文件;File.Delete 或 FileSystemObject.DeleteFile用于删除文件。
下面的代码演示在驱动器C的根目录下创建一个文本文件,填写一些内容,然后将文件移动到\html1目录下,再在目录\html2下面建立一个文件拷贝,最后删除这两个目录的文件:
1 var fso, f1, f2, s;
2 fso = new ActiveXObject("Scripting.FileSystemObject");
3 f1 = fso.CreateTextFile("E:\\testfile.txt", true);
4 alert("创建文件成功");
5 // 写一行
6 f1.Write("我是深情小建.");
7 alert("向文件写入数据成功");
8 // 关闭文件
9 f1.Close();
10 // 获取C:\根目录下的文件句柄
11 f2 = fso.GetFile("E:\\testfile.txt");
12 // 移动文件到\html1目录下
13 f2.Move ("E:\\html1\\testfile.txt");
14 alert("移动文件到html1文件夹下");
15 // 拷贝文件到\html2目录下
16 f2.Copy ("E:\\html2\\testfile.txt");
17 alert("拷贝文件到html2文件夹下");
18 // 获取文件句柄
19 f2 = fso.GetFile("E:\\html1\\testfile.txt");
20 f3 = fso.GetFile("E:\\html2\\testfile.txt");
21 // 删除文件
22 f2.Delete();
23 f3.Delete();
24 alert("删除文件成功");
六、结 语
通过以上对FileSystemObject的各种对象、属性和方法的介绍和示例,相信你已经对如何使用JavaScript语言在页面中操作驱动器、文件和文件夹有了清晰的认识。但是上述提及的例程都非常简单,要全面、灵活地掌握JavaScript文件操作技术,还需要大量的实践练习。而且还有一点提醒大家,由于涉及到在浏览器中进行文件读写这样的高级操作,对于默认的浏览器安全级别而言,在代码运行前都会有一个信息提示。
JS读取/创建本地文件及目录文件夹的方法
注:以下操作只在IE下有效!
Javascript是网页制作中离不开的脚本语言,依靠它,一个网页的内容才生动活泼、富有朝气。但也许你还没有发现并应用它的一些更高级的功能吧?比如,对文件和文件夹进行读、写和删除,就象在VB、VC等高级语言中经常做的工作一样。怎么样,你是否需要了解这方面的知识?那就请跟我来,本文将详细描述如何使用Javascript语言进行文件操作。
一、功能实现核心:FileSystemObject 对象
其实,要在Javascript中实现文件操作功能,主要就是依靠FileSystemobject对象。在详细介绍FileSystemobject对象的各个属性和方法的使用细节前,先来看看这个对象包括哪些相关对象和集合:
二、FileSystemObject编程三部曲
使用FileSystemObject 对象进行编程很简单,一般要经过如下的步骤: 创建FileSystemObject对象、应用相关方法、访问对象相关属性 。
(一)创建FileSystemObject对象
创建FileSystemObject对象的代码只要1行:
1 var fso = new ActiveXObject("Scripting.FileSystemObject");
上述代码执行后,fso就成为一个FileSystemObject对象实例。
(二)应用相关方法
创建对象实例后,就可以使用对象的相关方法了。比如,使用CreateTextFile方法创建一个文本文件:
1 var fso = new ActiveXObject("Scripting.FileSystemObject");
2 var f1 = fso.createtextfile("E:\\myjstest.txt",true");
(三)访问对象相关属性
要访问对象的相关属性,首先要建立指向对象的句柄,这就要通过get系列方法实现:GetDrive负责获取驱动器信息,GetFolder负责获取文件夹信息,GetFile负责获取文件信息。比如,指向下面的代码后,f1就成为指向文件c:\test.txt的句柄:
1 var fso = new ActiveXObject("Scripting.FileSystemObject");
2 var f1 = fso.GetFile("E:\\myjstest.txt");
然后,使用f1访问对象的相关属性。比如:
1 var fso = new ActiveXObject("Scripting.FileSystemObject");
2 var f1 = fso.GetFile("E:\\myjstest.txt");
3 alert("文件最后创建日期: " + f1.DateLastModified);
执行上面最后一句后,将显示E:\myjstest.txt的最后修改日期属性值。
但有一点请注意:对于使用create方法建立的对象,就不必再使用get方法获取对象句柄了,这时直接使用create方法建立的句柄名称就可以:
1 var fso = new ActiveXObject("Scripting.FileSystemObject");
2 var f1 = fso.createtextfile("E:\\myjstest.txt",true");
3 alert("文件最后创建日期: " + f1.DateLastModified);
三、操作驱动器(Drives)
使用FileSystemObject对象来编程操作驱动器(Drives)和文件夹(Folders)很容易,这就象在Windows文件浏览器中对文件进行交互操作一样,比如:拷贝、移动文件夹,获取文件夹的属性。
(一)Drives对象属性
Drive对象负责收集系统中的物理或逻辑驱动器资源内容,它具有如下属性:
TotalSize:以字节(byte)为单位计算的驱动器大小。
AvailableSpace或FreeSpace:以字节(byte)为单位计算的驱动器可用空间。
DriveLetter:驱动器字母。
DriveType:驱动器类型,取值为:removable(移动介质)、fixed(固定介质)、network(网络资源)、CD-ROM或者RAM盘。
SerialNumber:驱动器的系列码。
FileSystem:所在驱动器的文件系统类型,取值为FAT、FAT32和NTFS。
IsReady:驱动器是否可用。
ShareName:共享名称。
VolumeName:卷标名称。
Path和RootFolder:驱动器的路径或者根目录名称。
(二)Drive对象操作例程
下面的例程显示驱动器C的卷标、总容量和可用空间等信息:
1 <script type="text/javascript">
2 var fso, drv, s ="";
3 fso = new ActiveXObject("Scripting.FileSystemObject");
4 drv = fso.GetDrive(fso.GetDriveName("E:\\"));
5 s += "E盘:" + " - \n";
6 s += "硬盘大小:" + Math.floor(drv.TotalSize / 1024/1024/1024);
7 s += " GB" + "\n";
8 s += "硬盘可用空间:" + Math.floor(drv.FreeSpace / 1024/1024/1024);
9 s += " GB" + "\n";
10 s += "硬盘可用空间:" + Math.floor(drv.AvailableSpace / 1024/1024/1024);
11 s += " GB" + "\n";
12 s += "驱动器盘符:" + drv.DriveLetter+"盘\n";
13 s += "驱动器类型:" +drv.DriveType+"\n";
14 s += "驱动器的系列码:" +drv.SerialNumber+"\n";
15 s += "驱动器的文件系统类型:" +drv.FileSystem+"\n";
16 s += "驱动器是否可用:" +drv.IsReady+"\n";
17 s += "共享名称:" +drv.ShareName+"\n";
18 s += "卷标名称:" +drv.VolumeName+"\n";
19 s += "驱动器的路径或者根目录名称:" +drv.Path+"\n";
20 s += "驱动器的路径或者根目录名称:" +drv.RootFolder+"\n";
21 alert(s);
22 </script>
四、操作文件夹(Folders)
涉及到文件夹的操作包括创建、移动、删除以及获取相关属性。
(一)Folder对象的相关属性和方法列表
(二)Folder对象操作例程
下面的例程将练习获取父文件夹名称、创建文件夹、删除文件夹、判断是否为根目录等操作:
1 var fso, fldr, s = "";
2 // 创建FileSystemObject对象实例
3 fso = new ActiveXObject("Scripting.FileSystemObject");
4 // 获取Drive 对象
5 fldr = fso.GetFolder("E:\\");
6 // 显示父目录名称
7 alert("父目录是: " + fldr + "\n");
8 // 显示所在drive名称
9 alert("盘符是: " + fldr.Drive + "\n");
10 // 判断是否为根目录
11 if (fldr.IsRootFolder)
12 alert("这是根目录.");
13 else
14 alert("这不是根目录.");
15 // 创建新文件夹
16 fso.CreateFolder ("E:\\html");
17 alert("创建文件夹 E:\\html" + "\n");
18 // 显示文件夹基础名称,不包含路径名
19 alert("Basename = " + fso.GetBaseName("E:\\html") + "\n");
20 // 删除创建的文件夹
21 fso.DeleteFolder ("E:\\html");
22 alert("删除文件夹 E:\\html" + "\n");
五、操作文件(Files)
对文件进行的操作要比以上介绍的驱动器(Drive)和文件夹(Folder)操作复杂些,基本上分为以下两个类别:对文件的创建、拷贝、移动、删除操作和对文件内容的创建、添加、删除和读取操作。下面分别详细介绍。
(一)创建文件
一共有3种方法可用于创建一个空文本文件,这种文件有时候也叫做文本流(text stream)。
第一种是使用CreateTextFile方法。代码如下:
1 var fso, f1;
2 fso = new ActiveXObject("Scripting.FileSystemObject");
3 f1 = fso.CreateTextFile("E:\\testfile.txt", true);
第二种是使用OpenTextFile方法,并添加上ForWriting属性,ForWriting的值为2。代码如下:
1 var fso, ts;
2 var ForWriting= 2;
3 fso = new ActiveXObject("Scripting.FileSystemObject");
4 ts = fso.OpenTextFile("E:\\test.txt", ForWriting, true);
第三种是使用OpenAsTextStream方法,同样要设置好ForWriting属性。代码如下:
1 var fso, f1, ts;
2 var ForWriting = 2;
3 fso = new ActiveXObject("Scripting.FileSystemObject");
4 fso.CreateTextFile ("E:\\test1.txt");
5 f1 = fso.GetFile("E:\\test1.txt");
6 ts = f1.OpenAsTextStream(ForWriting, true);
(二)添加数据到文件
当文件被创建后,一般要按照“打开文件→填写数据→关闭文件”的步骤实现添加数据到文件的目的。
打开文件可使用FileSystemObject对象的OpenTextFile方法,或者使用File对象的OpenAsTextStream方法。
填写数据要使用到TextStream对象的Write、WriteLine或者WriteBlankLines方法。在同是实现写入数据的功能下,这3者的区别在于:Write方法不在写入数据末尾添加新换行符,WriteLine方法要在最后添加一个新换行符,而WriteBlankLines则增加一个或者多个空行。
关闭文件可使用TextStream对象的Close方法。
(三)创建文件及添加数据例程
下面的代码将创建文件、添加数据、关闭文件几个步骤结合起来进行应用:
1 var fso, tf;
2 fso = new ActiveXObject("Scripting.FileSystemObject");
3 // 创建新文件
4 tf = fso.CreateTextFile("E:\\testfile.txt", true);
5 // 填写数据,并增加换行符
6 tf.WriteLine("Testing 1, 2, 3.") ;
7 // 增加3个空行
8 tf.WriteBlankLines(3);
9 // 填写一行,不带换行符
10 tf.Write ("我是深情小建.");
11 // 关闭文件
12 tf.Close();
(四)读取文件内容
从文本文件中读取数据要使用TextStream对象的Read、ReadLine或ReadAll 方法。Read方法用于读取文件中指定数量的字符;ReadLine方法读取一整行,但不包括换行符;ReadAll方法则读取文本文件的整个内容。读取的内容存放于字符串变量中,用于显示、分析。在使用Read或ReadLine方法读取文件内容时,如果要跳过一些部分,就要用到Skip或SkipLine方法。
下面的代码演示打开文件、填写数据,然后读取数据:
1 var fso, f1, ts, s;
2 var ForReading = 1;
3 fso = new ActiveXObject("Scripting.FileSystemObject");
4 // 创建文件
5 f1 = fso.CreateTextFile("E:\\testfile.txt", true);
6 // 填写一行数据
7 f1.WriteLine("我是深情小建");
8 f1.WriteBlankLines(1);
9 // 关闭文件
10 f1.Close();
11 // 打开文件
12 ts = fso.OpenTextFile("E:\\testfile.txt", ForReading);
13 // 读取文件一行内容到字符串
14 s = ts.ReadLine();
15 // 显示字符串信息
16 alert("文件信息是: ‘" + s + "‘");
17 // 关闭文件
18 ts.Close();
(五)移动、拷贝和删除文件
对于以上三种文件操作,Javascript各有两种对应的方法:File.Move 或 FileSystemObject.MoveFile用于移动文件;File.Copy 或FileSystemObject.CopyFile用于拷贝文件;File.Delete 或 FileSystemObject.DeleteFile用于删除文件。
下面的代码演示在驱动器C的根目录下创建一个文本文件,填写一些内容,然后将文件移动到\html1目录下,再在目录\html2下面建立一个文件拷贝,最后删除这两个目录的文件:
1 var fso, f1, f2, s;
2 fso = new ActiveXObject("Scripting.FileSystemObject");
3 f1 = fso.CreateTextFile("E:\\testfile.txt", true);
4 alert("创建文件成功");
5 // 写一行
6 f1.Write("我是深情小建.");
7 alert("向文件写入数据成功");
8 // 关闭文件
9 f1.Close();
10 // 获取C:\根目录下的文件句柄
11 f2 = fso.GetFile("E:\\testfile.txt");
12 // 移动文件到\html1目录下
13 f2.Move ("E:\\html1\\testfile.txt");
14 alert("移动文件到html1文件夹下");
15 // 拷贝文件到\html2目录下
16 f2.Copy ("E:\\html2\\testfile.txt");
17 alert("拷贝文件到html2文件夹下");
18 // 获取文件句柄
19 f2 = fso.GetFile("E:\\html1\\testfile.txt");
20 f3 = fso.GetFile("E:\\html2\\testfile.txt");
21 // 删除文件
22 f2.Delete();
23 f3.Delete();
24 alert("删除文件成功");
六、结 语
通过以上对FileSystemObject的各种对象、属性和方法的介绍和示例,相信你已经对如何使用JavaScript语言在页面中操作驱动器、文件和文件夹有了清晰的认识。但是上述提及的例程都非常简单,要全面、灵活地掌握JavaScript文件操作技术,还需要大量的实践练习。而且还有一点提醒大家,由于涉及到在浏览器中进行文件读写这样的高级操作,对于默认的浏览器安全级别而言,在代码运行前都会有一个信息提示。
JS读取/创建本地文件及目录文件夹的方法的更多相关文章
- TortoiseSVN设置忽略文件和目录文件夹
TortoiseSVN设置忽略文件和目录文件夹 在多数项目中你总会有文件和目录不需要进行版本控制.这可能包括一些由编译器生成的文件,*.obj,*.lst,或许是一个用于存放可执行程序的输出文件夹. ...
- Git学习——创建本地仓库、提交文件
创建Git仓库 新建或找一个存在的文件夹,在命令行进入该文件夹,输入命令 git init 添加文件到Git仓库 首先使用命令git add <file>,可以多次添加文件: 使用命令gi ...
- 使用nginx访问本地电脑的目录文件
cat /usr/local/opt/nginx/ //nginx路径 cd /usr/local/opt/nginx/html //localhost的指向 ln -s ~/Documents do ...
- Python开发【笔记】:从海量文件的目录中获取文件名--方法性能对比
Python获取文件名的方法性能对比 前言:平常在python中从文件夹中获取文件名的简单方法 os.system('ll /data/') 但是当文件夹中含有巨量文件时,这种方式完全是行不通 ...
- 【转】nginx禁止访问某个文件和目录(文件夹)
nginx禁止访问所有.开头的隐藏文件设置 location ~* /.* {deny all;} nginx禁止访问目录, 例如:禁止访问path目录 location ^~ /path {deny ...
- 十四、文件和目录——文件时间和utime函数
14.1 文件时间 存在于 stat 结构体中 14.2 文件时间函数 14.2.1 介绍 utime(修改文件的存取时间和更改时间) 相关函数 utimes,stat #include <sy ...
- PHP 遍历一个文件夹下所有文件和子文件夹的方法
话不多说,直接上代码 <?php function my_dir($dir) { $files = []; if(@$handle = opendir($dir)) { while(($file ...
- mysql创建本地用户及赋予数据库权限的方法示例
大家在安装 mysql 时通常会生成一个超级用户 root,很多人之后就一直沿用这一个用户,虽然这会很方便,但超级用户权限太大,在所有地方使用它通常是一个安全隐患. 这一点跟操作系统的用户管理也是类似 ...
- 使用POI读取/创建Execl(.xlsx)文件
最近项目中用到了解析Execl表格的功能,在网上百度了一下自己写了一个小Demo.由于项目中使用的是Execl2007,就是后缀为.xlsx的,所以只研究了解析和创建Execl2007的文件,解析Ex ...
随机推荐
- centos下 将(jgp、png)图片转换成webp格式
由于项目要求需要将jpg.png类型的图片 转换成webp格式,最开始使用了php gd类库里 imagewebp 方法实现,结果发现转换成的webp格式文件会偶尔出现空白内容的情况.像创建了一个透 ...
- PHP消息队列学习
在我们平常网站设计时,会遇到“给用户群发短信”,“商城订单系统大批量订单处理”,“商城秒杀活动”等需求,这些功能,都有一个共同的特点:就是在面对高迸发的同时,必须要保证系统处理数据的有效性.那么如何处 ...
- JavaScript 资源大全中文版
我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-javascript 是 sorrycc 发起维护的 JS 资源列表,内容包括:包管理器.加 ...
- js中正则表达式与Python中正则表达式的区别
今天女票让我帮她写一个js中的正则,来提取电话号码,对于正则规则来说,js与python是基本没有区别的,重点的区别是在一些函数与方法中. python中的正则提取: import re str = ...
- libevent源码分析1 ----evnet相关结构体分析
位于代码event-internal.h中. event_base类似事件的集合,你创建一个事件,必须将该事件指定一个集合. struct event_base { 50 const stru ...
- C++多态实例
#include <iostream> #include <string> using namespace std; //class 实现 class Employee { s ...
- sql优化系列3(收集来源http://bbs.csdn.net/topics/250004467)
如何加快查询速度? 1.升级硬件 2.根据查询条件,建立索引,优化索引.优化访问方式,限制结果集的数据量. 3.扩大服务器的内存 4.增加服务器CPU个数 5.对于大的数据库不要设置数据库自动增长 ...
- jq相关细节-1
animate/动画 所有用于动画的属性必须是数字的,除非另有说明:这些属性如果不是数字的将不能使用基本的jQuery功能.(例如,width, height或者left可以执行动画,但是backgr ...
- loj6387 「THUPC2018」绿绿与串串 / String
还是很好做的,大致就是manacher,每个位置为中心的最长回文串要是能抵到最右边就合法,要是能抵到最左边,那这个点的是否合法取决于以这个点为中心的最长回文串的右端点是否合法. #include &l ...
- Python框架之Django学习笔记(十六)
Django框架之表单(续) 今天简直无力吐槽了,去了香山,结果和网上看到的简直是天壤之别啊,说好的香山的枫树呢?说好的香山的红叶呢?说好的漫山遍野一片红呢?本以为在山上,一口气爬上去,沿路基本都是翠 ...