<?php
date_default_timezone_set("PRC");
$filePath="article/";
$name="temp";//提前定义$name,否则,如果再没上传成功时返回,则会因为没有定义$name变量而出错;
if (!file_exists($filePath)){//如果指定文件夹不存在,则创建文件夹
mkdir($filePath , 0777);
}
$content = "这是一个以日期时间为文件名的静态生成网页的测试文件";
$date = date('YmdHis');
$fp=false;
while(!$fp){//如果已经存在,则继续重新生成
$name=$filePath.date('YmdHis').mt_rand(1000,9999).. '.html';
$fp = fopen ($name,"xb");
//创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,
//并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。
}
if (fwrite ($fp,$content)){
//格式是.int fwrite(int fp(文件名), string string(内容),
//int [length](长度));本函数将字符串 string 写入文件资料流的指针 fp 上。
//若有指定长度 length,则会写入指定长度字符串,或是写到字符串结束。
fclose ($fp);//函数用来关闭已经打开的文件的指针 fp。
//成功返回 true,失败则返回 false。
die ("写入模板成功");
} else {
fclose ($fp);
die ("写入模板失败!");
}
?>
注意这理fopen的写入方式为XB,X表示当已经有此文件名的文件时,就会返回FALSE,也就是说每次都创建不同文件名的文件,B表示以二进制的方式写入,很重要,无论读还是写都强烈建议加上B方式,当然,如果对于已经存在的文件要将其覆盖,应该选择WB