fopen的第一个输入为文件名,第二个输入确定工作方式:
'r'从起始地址开始读
'r+'起始地址开始读并且允许写入
'w'从起始地址开始只写(覆盖)
'w+'读和写也是起始地址开始
'a'附加到文件最后只写
'a+'附加到文件最后并且允许读写
创建临时文件
//创建了一个临时文件
$temp = tmpfile();
// 回到文件头
rewind($temp);
// 读取文件内容
$contents = fread($temp, 2048); //读取文件内容
文件读写代码
<?php
/* printf类似C语言的,%后添加要显示的属性
* b二进制,c为ASCLL,d整数,e科学符号(如1.23000e+2),f浮点型,o八进制,s为string,u正整数,x小写字符的十六进制,X大写字母的十六进制
*/
printf("There are %d items in your backet", 3);
// sprintf不是用于显示,主要用于和printf使用时一样的类型转换
echo "<br>";
$hexstring = sprintf("%d %f %X", 65, 128, 231);
echo $hexstring;
echo "<br>";
echo time();
echo "<br>";
echo time() + 7 * 24 * 60 * 60;
echo "<br>";
echo mktime(0, 0, 0, 1, 1, 2000) . "<br>";
//echo data("Y-m-d\TH:i:sP", time());
echo "<br>";
echo "fopen测试建立文件,没有文件则创建文件" . "<br>";
echo "fopen的第一个输入为文件名,第二个输入确定工作方式:'r'从起始地址开始读,'r+'起始地址开始读并且允许写入,'w'从起始地址开始只写(覆盖),'w+'读和写也是起始地址开始,'a'附加到文件最后只写,'a+'附加到文件最后并且允许读写" . "<br>";
$fh = fopen("testfile.txt", 'a+') or die("Failed to create file");
echo "<br>";
echo "flock:使读写只能一个线程使用,LOCK_EX执行、LOCK_UN结束" . "<br>";
echo " 下面的fgets和file_get_contents也只能是第一个命令运行" . "<br>";
flock($fh, LOCK_EX);
echo "<br>";
echo "fgets:只读一行文件" . "<br>";
$text = fgets($fh) or die("并没有文件内容,我怎么读");
echo $text . "<br>";
$text = fgets($fh) or die("并没有文件内容,我怎么读");
echo $text . "<br>";
echo "<br>";
echo "file_get_contents:读全部文件,但使用flock后只能第一个命令读取" . "<br>";
echo file_get_contents("testfile.txt") . "<br>";;
echo "<br>";
echo "写入文件:fwrite(\$fh, \"写入文件用fwrite\") or die(\"Could not write to file\");" . "<br>";
fwrite($fh, "写入文件用fwrite\r\n") or die("Could not write to file");
flock($fh, LOCK_UN);
echo "关闭文件fclose" . "<br>";
fclose($fh);
echo "<br>";
//$text = <<<_END line 1 line 2 line 3 _END;
echo "打开文件前判断文件是否存在:file_exists(\"testfile.txt\")" . "<br>";
if(file_exists("testfile.txt"))
{
echo "File exists" . "<br>";
}
echo "<br>";
echo "使用copy拷贝文件" . "<br>";
copy('testfile.txt', 'testfile2.txt') or die("Could not copy file");
echo "<br>";
echo "使用rename重命名文件" . "<br>";
if(!rename('testfile2.txt', 'testfile2.new'))
echo "Could not rename file" . "<br>";
else
echo "File successfully renamed to 'testfile2.new'" . "<br>";
echo "<br>";
echo "使用unlink删除文件" . "<br>";
if(!unlink('testfile2.new'))
echo "Could not delete file" . "<br>";
else
echo "File 'testfile2.new' successfully deleted" . "<br>";
//move_uploaded_fileg更新加载的文件
?>