PHP基础----文件操作

<?php

/* 
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 * php文件操作
 */
  header("Content-Type: text/html; charset=utf-8");  //设置编码
  header( "Expires: -1" );    //立即过期
  //
  
  
//basename()  获取文件名
$path="F:\a.txt";
echo basename($path);   //输出a.php  
echo "<br>";
echo basename($path, ".php");  //输出a
echo "<br>";

//dirname()获取路径部分
echo dirname($path);   //输出 /home/test
echo "<br>";

//pathinfo()   返回数组,包含四部分目录,文件名,基本名,扩展名
var_dump( pathinfo($path));
echo "<br>";

//fstat()获取文件信息
$fp=  fopen($path, "r");
$fstat=  fstat($fp);
var_dump($fstat);
fclose($fp);
echo "<br>";

//filesize()   返回文件大小的字节数
echo "size: ".filesize($path);
echo "<br>";

//disk_total_space()  返回目录所在磁盘的总大小
//disk_free_space()   获取目录所在磁盘分区的可用空间
echo "total space: ".disk_total_space("c:")."<br>";
echo "free space: ".disk_free_space("C:");
echo "<br>";

//fileatime()  获取最后访问时间
//filectime    获取最后改变时间(任何数据的修改)
//filemtime()  获取最后修改时间(内容的修改)
echo "最后访问呢时间:".fileatime($path)."<br>";
echo "最后改变时间: ".filectime($path)."<br>";
echo "最后修改时间: ".filemtime($path)."<br>";

//file_exists   检查文件是否存在,存在返回true,不存在返回false
echo "文件是否存在:".file_exists($path)."<br>";


//scandir()   获取目录下的文件
$filenames= scandir("f:/");
foreach ($filenames as $key=>$value){
    echo iconv("GBK", "UTF-8", $value)."<br>";
}


//////////////////////////////////IO操作///////////////////////////////////////////////////////
/**
 * fopen   打开文件或者url
 * 'r' 只读方式打开,将文件指针指向文件头。
 * 'r+' 读写方式打开,将文件指针指向文件头。
 * 'w' 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
 * 'w+' 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
 * 'a' 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
 * 'a+' 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
 * 'x' 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,
 * 'x+' 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE
 */


/**
 * file()   把整个文件读入一个数组中,每一行对应数组中一个数据
 */

$lines=file("http://www.baidu.com");//数组
//var_dump($lines);
echo implode("", $lines);//转为字符串,输出
echo "<br>";

$lines=file($path);
echo implode("", $lines);
echo "<br>";

/**
 * fgets()  读取一行。  从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。
 */
$fp=fopen($path,"r");
while(!feof($fp)){
    echo fgets($fp,4096);
}
fclose($fp);
echo "<br>";


/**
 * fread()   以二进制方式读取文件
 */
$fp=fopen($path,"r");
$content=  fread($fp, filesize($path));
echo $content;
fclose($fp);


/**
 * fwrite()   以二进制方式进行写操作
 */
$fp=fopen($path,"a");
if($fp){
   echo fwrite($fp, "新写入数据");
}
fclose($fp);

/**
 * fputs  以字符方式写入
 * rewind   移动文件指针到文件开始处
 */


$fp=  fopen("f:\bb.txt", "w");
fwrite($fp, "内容");
fclose($fp);

猜你喜欢

转载自768992698.iteye.com/blog/2321877