如何读写文件?
$fp=fopen("test.txt","r");
//以只读方式打开文件,将文件指针指向文件头
$fp=fopen("test.txt","r+");
//以读写方式打开文件,将文件指针指向文件头
$fp=fopen("test.txt","w");
//写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建
$fp=fopen("test.txt","w+");
//以读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建
$fp=fopen("test.txt","a");
//以写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建
$fp=fopen("test.txt","a+");
//以读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建
$fp=fopen("test.txt","wb+");
//以写入方式打开二进制文件,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建
打开/读取文件
//readfile("upfilejson.txt");//若使用readfile方法则无须关闭文件
$arr = file("upfilejson.txt");//file方法是按文件内容行读入到数组
foreach($arr as $a){
echo $a."<br>";
}
$str = file_get_contents("upfilejson.txt");//将文件内容读入到一个字符串
$file = fopen("upfilejson.txt","rb");//读取文件设置操作权限
while(!feof($file)){//feof函数检查文件指针是否到达文件结束的位置
echo fgets($file);
}
while ($char = fgetc($file)) {//通过指针读取文件每一个字符,如果不为false就输出
echo "$char";
}
fclose($file);//关闭文件echo fread($file,1024);//fread() 从文件指针 file 读取最多 length 个字节
注意:fgetss()与 fgets() 相同,不同的是 fgetss 尝试从读取的文本中任何 HTML 和 PHP 标记
文件写入
第一种:
$file = fopen("upfilejson.txt","w+");//读取文件设置操作权限
fwrite($file,"aaa");//写入文件
fclose($file);//关闭文件
第二种:
file_put_contents("upfilejson.txt","BB");//写入文件,默认权限为w
如何操作文件?
copy("upfilejson.txt","upfilejson1.txt");//将路径1文件复制到路径2
rename("upfilejson1.txt","upfilejson3.txt");//将文件重命名
unlink("upfilejson3.txt");//删除文件,成功返回true、失败返回false
echo date("Y-m-d H:i:s",fileatime("upfilejson.txt"))."<br>";//返回文件最后访问的时间
echo date("Y-m-d H:i:s",filemtime("upfilejson.txt"))."<br>";//返回文件最后修改的时间
echo filesize("upfilejson.txt")."<br>";//返回文件大小(bytes)
$arr = pathinfo("upfilejson.txt");//返回文件路径信息数组
echo realpath("upfilejson.txt")."<br>";//返回文件的绝对路径
$arr = stat("upfilejson.txt"); //返回所有文件信息数组
目录的处理
if(is_dir("upfile")){//浏览目录
if($dir = scandir("upfile")){
print_r($dir);
}
}else{
echo "路径错误";
exit();
}
//mkdir('a'); //创建目录
//rmdir('a'); //删除目录
echo getcwd()."<br>"; //获取当前目录
//chdir("../");//改变当前目录
echo disk_free_space("D:");//返回路径剩余空间大小(b),必须绝对路径
echo disk_total_space("D:");//返回路径空间总大小
$dir = opendir("upfile");
while($file = readdir($dir)){//返回目录下一个文件名,需要opendir
echo $file;
}
closedir($dir);
远程访问文件:php.ini中找到allow_url_fopen值设为on
文件指针的应用
rewind()函数:将文件指针设为文件流的开头;
fseek()函数:移动文件指针;
feof()函数:判断指针是否在文件尾,返回布尔;
ftell()函数:返回当前文件指针位置;
锁定文件
flock(handle,operation)
LOCK_SH:取得共享锁定(读)
LOCK_EX:取得独占锁定(写)
LOCK_UN:释放锁定
LOCK_NB:防止堵塞
文件的上传
配置php.ini
file_uploads:on//服务器支持文件上传
upload_tmp_dir: //服务器默认临时文件目录
upload_max_filesize://服务器允许上传的最大值,以MB为单位默认2MB
max_execution_time://指令最多执行时间,单位为秒
memory_limit://指令分派的内存空间MB
<form name="form2" method="post" enctype="multipart/form-data" action="upload.php">
<input name="file1" id="file1" type="file" size="30"/>
<input type="Submit" name="Submit1" value="提交"/>
</form>
if(!is_dir("./upfile")){
mkdir("./upfile");
}
$path = "upfile/".$_FILES["file1"]["name"];
echo "<br>";
if(move_uploaded_file($_FILES["file1"]["tmp_name"],$path)){
$flag = true;
}else{
$flag = false;
}
if($flag){
echo "成功!";
echo "<img src=$path style='width:80px'/>";
}else{
echo "失败!";
}