函数tmpfile 函数会真的创建一个临时的文件吗

php创建临时文件tempnam与tmpfile区别-常见问题-Php教程-壹聚教程网php创建临时文件tempnam与tmpfile区别
tempnam() 函数创建一个具有唯一文件名的临时文件。若成功,则该函数返回新的临时文件名。若失败,则返回 false。
tempnam(dir,prefix)
function dir_wriable($dir)&&&&&&&&&//自定义函数扩展建立临时文件
& $test=tempnam(&$dir&,&test_file&);&&&&&&&//建立临时文件
& if(&))&&&&&&&&//如果文件成功打开
&&& @fclose($fp);&&&&&&&&&&//关闭文件
&&& @unlink($test);&&&&&&&&&&//删除文件
&&& $wriable=&ture&;&&&&&&&&&&//返回值为真
&&& $wriable=false or die(&cannot open $test!&);&&&&//返回值为假
& return $&&&&&&&&&&//返回布尔型值
if(dir_wriable(str_replace('//','/',dirname(__file__))))&&&&//调用自定义函数
& $dir_wriable='建立文件成功';
& $dir_wriable='建立文件失败';
不能在指定的 dir 参数中创建文件,则退回到系统默认值。
注释:本函数的行为在 4.0.3 版中改变了。也会建立一个临时文件以避免竞争情形,即有可能会在产生出作为文件名的字符串与脚本真正建立该文件之间会在文件系统中存在同名文件。注意,如果不再需要该文件则要删除此文件,不会自动删除的。
tmpfile() 函数以读写(w+)模式建立一个具有唯一文件名的临时文件。
文件会在关闭后(用 fclose())自动被删除,或当脚本结束后。
$temp = tmpfile();
fwrite($temp, &testing, testing.&);
//倒回文件的开头
rewind($temp);
//从文件中读取 1k
echo fread($temp,1024);
//删除文件
fclose($temp);
上一页: &&&&&下一页:相关内容您所在的位置: &
教你如何创建VB.NET临时文件七步总结
教你如何创建VB.NET临时文件七步总结
这里介绍了如何创建VB.NET临时文件,教你使用GetTempFileName函数,文章中有显示了如何创建VB.NET临时文件的七个详细步骤。
经过长时间的运用VB.NET编程,在工作中也积累了一些经验,在这里主要和大家介绍如何创建VB.NET临时文件。
使用GetTempFileName函数
WindowsAPI函数中的GetTempFileName函数可以用来在指定的磁盘驱动器上创建一个新的文件。尽管所创建的文件是一个临时文件,但不再需要它的时候,程序员还是需要将它从磁盘上物理地删除掉。
要在VB中使用GetTempFileName函数,必须将如下声明语句包含在程序中(请注意该声明语句需要书写在一行内):PrivateDeclareFunctionGetTempFileNameLib"kernel32"Alias"GetTempFileNameA"(ByVallpszPathAsString,ByVallpPrefixStringAsString, &ByValwUniqueAsLong,ByVallpTempFileNameAsString)AsLong&
该GetTempFileName函数需要4个参数:第一个参数是希望创建新文件的驱动器和/或路径的名称,在下面的样例程序中,新文件创建在驱动器C的根目录下。第二个参数是指派给文件名称的前缀。如果将该前缀指定为"TEST",则函数将把创建的新文件名称的前四个字符设置为"TEST",即"TEST*.TMP"。第三个参数应该被设置为0,告诉该函数为文件名称自动产生随机号码。该随机号码会被添加到前缀字符的后面,以产生一个独特而且完整的文件名称。第四个参数是一个字符串缓存,它至少要有256个字符的长度,以存放临时文件的名称。
在调用该函数之后,新文件创建在指定的磁盘上。这里重申一下,当退出应用程序时,必须物理地将该文件从磁盘上删除,样例程序。
该程序显示了如何创建VB.NET临时文件
1.在VisualBasic中开始一个新的工程,采用缺省的方法建立Form1。
2.将如下声明语句添加到Form1的通用声明部分中(请注意该声明语句需要被书写在一行内):PrivateDeclareFunctionGetTempFileNameLib"kernel32"Alias"GetTempFileNameA" &(ByVallpszPathAsString,ByVallpPrefixStringAsString,ByValwUniqueAsLong,ByVallpTempFileNameAsString)AsLong&
3.将如下代码添加到Form1的Form_Load事件中:PrivateSubForm_Load() &Text1.TEXT=""&EndSub &
4.在Form1上添加一个文本框控件,采用缺省的方法建立Text1。
5.在Form1上添加一个命令按钮控件,采笔〉姆椒ommand1。
6.将如下代码添加到Command1的单击事件中:PrivateSubCommand1_Click() &DimFilePrefixAsString &DimNewFileAsString*256 &FilePrefix="TEST"&NewFile=GetTempName(FilePrefix) &Text1.TEXT=NewFile&EndSub&
7.创建一个新的名为GetTempName的函数,将如下代码添加到该函数中:PrivateFunctionGetTempName(TmpFilePrefixAsString)AsString &DimTempFileNameAsString*256 &DimXAsLong &DimDriveNameAsString &DriveName="c:"&X=GetTempFileName(DriveName,TmpFilePrefix,0,TempFileName) &GetTempName=Left$(TempFileName,InStr(TempFileName,Chr(0))-1) &EndFunction&
按下F5键,执行本样例程序。单击命令按钮,在驱动器C的根目录下创建一个新的临时文件。该新创建的文件的名称被显示在文本框控件中,以上就是如何创建VB.NET临时文件的过程,大家学会了吗?【责任编辑: TEL:(010)】
关于的更多文章
VB.NET(Visual Basic.NET)是基于微软公司推出的新一代编程语言
随着云计算、物联网、大数据、移动互联网的大发展,你应该知道这些。
讲师: 0人学习过讲师: 0人学习过讲师: 11人学习过
1314的的日子在,在忙忙碌碌中过去了。一周五天,中间
本期开发频道重点推荐是2013年开发频道重点推荐的最后
如何看将流行的JavaScript MVC框架Ember.js? 这款Java
本书共10章,介绍的内容包括恶意软件(包括病毒、木马和蠕虫等)的深度防御方法,黑客的主要类型和防御方法,企业网络内、外部网
51CTO旗下网站Linux下创建临时文件 – 过往记忆
欢迎关注Hadoop、Spark、Flink、Hive、Hbase、Flume等大数据资料分享微信公共账号:iteblog_hadoop。
文章总数:789
浏览总数:9,355,127
评论:4813
分类目录:89 个
注册用户数:2489
最后更新:日
欢迎关注微信公共帐号:iteblog_hadoop
临时文件是一个暂时用来存储数据的文件。如果使用建立普通文件的方法来创建文件,则可能遇到文件是否存在,是否有文件读写权限的问题。Linux系统下提供的建立唯一的临时文件的方法如下:
#include&stdio.h&
char *tmpnam(char *s);
FILE *tmpfile();
函数tmpnam()产生一个唯一i的文件名。如果参量为NULL,则在一个内部使用的缓冲区内产生文件名,当下一次调用该函数的时候,则可能覆盖该文件名。如果参数不是为NULL,则名字拷贝到字符串中,字符串的长度至少为L_tmpnam,它定义在stdio.h中。如果不成功则函数返回NULL。函数tmpfile()则返回一个临时文件的描述符,文件的打开属性是读和写。相当于使用fopen以w+打开。如果不成功则返回NULL。
下面是一个简短的列子。
#include&stdio.h&
int main(){
char tmpname[L_tmpnam];
filename = tmpname(tmpname);
printf(&Temporary file name is %s\n&, filename);
fp = tmpfile();
printf(&Temporary file opened!\n&);
perror(&tmpfile&);
此外,还有两个函数也可以创建临时文件:
#include&stdio.h&
char *mktemp(char *template);
int mkstemp(char *template);
函数mktemp()从给定的模块template中创建唯一的临时文件名。模版可以是文件路径的前缀,模版的最后6个字符必须是“XXXXXX”,比如:
char template[L_tmpnam];
strcpy(template, &/temp/wypXXXXXX&);
filename = mktemp(template);
printf(&Temporary file name is %s\n&, filename);
函数mkstemp()类似于tmpfile(),但是打开的文件相当于使用提供底层的文件操作函数open()打开文件。
优秀人才不缺工作机会,只缺适合自己的好机会。但是他们往往没有精力从海量机会中找到最适合的那个。
100offer 会对平台上的人才和企业进行严格筛选,让「最好的人才」和「最好的公司」相遇。
注册 100offer,谈谈你对下一份工作的期待。一周内,收到 5-10 个满足你要求的好机会!
本博客文章除特别声明,全部都是原创!
禁止个人和公司转载本文、谢谢理解:
下面文章您可能感兴趣tmpfile 建立一个临时文件
tmpfile 建立一个临时文件
tmpfile & 建立一个临时文件
resource tmpfile
详细信息请参考系统手册中的
tmpfile(3) 函数,以及
stdio.h 头文件。
Example #1 tmpfile() 例子
&?php$temp&=&tmpfile();fwrite($temp,&"writing&to&tempfile");fseek($temp,&0);echo&fread($temp,&1024);fclose($temp);&//&this&removes&the&file?&
以上例程会输出:
writing to tempfile
Copyright & 2016 phpStudyUnix/Linux _linux 临时文件_API之家,最大的中文API社区
当前位置:>API参考大全>>linux 临时文件
linux 临时文件
出处:API之家
作者:API之家 阅读:1340次
很多情况下,程序会利用一些文件形式的临时存储手段。
用tmpname函数可以生成一个唯一的文件名。
#include&stdio.h&
char *tmpname( char& *s)
tmpname函数返回一个不与任何已存在的文件名同名的有效文件名,如果字符串s不为空,文件名也会写入它。对tmpname的后续调用
会覆盖存放返回值的静态存储区。
如果需要立刻使用临时文件,你可以用tmpfile函数在给它命名的同时打开它,这点非常的重要。因为另一个程序可能会创建去一个与tmpname返回的
文件名同名的文件,tmpfile()则完全避免了这种情况。
#include&stdio.h&
FILE *tmpfile(void);
tmpfile()返回一个文件流指针,它指向一个唯一的临时文件。该文件以读写的方式打开,当对一个文件的所有的引用都被删除的时候,这个临时文件将会
如果出错,tmpfile函数返回空指针,并设置errno的值。
#include &stdio.h&&
#include &stdlib.h&&
int main()&
&&& char tmpname[L_tmpnam];&
&&& char *&&
&&& FILE *&
&&& filename = tmpnam(tmpname);&
&&& printf("Temporary file name is: %s\n", filename);&
&&& tmpfp = tmpfile();&
&&& if(tmpfp)&
&&&&&&& printf("Opened a temporary file OK\n");&
&&&&&&& perror("tmpfile");&
&&& exit(0);&
#include &stdio.h&
#include &stdlib.h&
int main()
char tmpname[L_tmpnam];
filename = tmpnam(tmpname);
printf("Temporary file name is: %s\n", filename);
tmpfp = tmpfile();
printf("Opened a temporary file OK\n");
perror("tmpfile");
UNIX有另外一种生成临时文件名的方式,就是使用mktemp和mktemp函数。
#include&stdlib.h&
char *mktemp(char *template);
int mkstemp(char *template);
mktemp函数以给定的模板为基础创建一个唯一的文件名,template参数必须是一个以6个X字符结尾的字符串。
mkstemp函数类似于tempfile(),它也是同时创建并打开一个临时文件。文件名的生成方法和mktemp一样,但是它的返回值是一个
打开的,底层的文件描述符。
在应该在程序中使用"创建并打开"函数tmpfile和mkstemp函数,而不要用tmpname和mktemp函数。
上一篇:下一篇:
tmpname tmpfile相关文章请点击
责任申明:本站内容均整理自互联网,若有侵权,请联系我们。使用本站提供的任务技术内容造成不良后果,本站不负任何责任。
欢迎投稿,电子邮件:(#号换成@)&& QQ群1: &&

我要回帖

更多关于 php读取临时文件tmp 的文章

 

随机推荐