<?php
//echo readfile('D:\\123.txt');//读取文件内容第一种方式,返回字符串,但是带有长度
echo '<br>';
//var_dump(file('D:\\123.txt'));//读取文件内容第二种方式,file返回结果是一个数组
echo '<br>';
//echo file_get_contents('D:\\123.txt');//读取文件第三种方式,返回字符串,此方式用的最多
//echo file_get_contents('http://www.baidu.com');//不仅可以获取本地内容,也可以获取url地址
//echo readfile('http://www.baidu.com');
//var_dump(file('http://www.baidu.com')); //往文件中写内容,若改文件不存在则会创建一个文件,FILE_APPEND追加内容如果不写是覆盖原内容
//LOCK_EX独占锁,同时操作一个文件时的先后顺序,
//file_put_contents('D:\\1235.txt', 'hello FADSF',FILE_APPEND,LOCK_EX);
//echo file_get_contents('D:\\1235.txt'); echo basename('D:\\1235.txt');//根据某个路径返回文件名
echo'<br>';
echo __FILE__; //返回 目录+文件名
echo'<br>';
echo dirname(__FILE__);//dirname获取文件目录名
echo "<br>";
echo __DIR__; //等同于dirname(__FILE__); 返回目录
echo'<br>';
echo dirname(dirname(__FILE__));
echo'<br>';
var_dump(pathinfo('D:\\1235.txt'));//返回文件相关信息,返回值是数组,可添加第二个参数,单独获取一个信息
echo'<br>';
echo filetype('D:\\1235.txt');//文件类型
echo'<br>';
echo filesize('D:\\1235.txt');//文件大小
echo'<br>';
echo filemtime('D:\\1235.txt');//返回Unix时间戳,文件上次的修改时间
echo'<br>';
echo date('Y-m-d H:i:m',filemtime('D:\\1235.txt'));
echo'<br>';
echo date('Y-m-d H:i:m', fileatime('D:\\1235.txt'));//上次访问时间,创建时间
echo'<br>';
echo date('Y-m-d H:i:m',filectime('D:\\1235.txt'));
echo'<br>';
copy('D:\1235.txt', 'D:\1236.txt');//从原文件目录复制到目标文件目录
echo'<br>';
unlink('D:\\1236.txt');//删除文件
echo'<br>';
var_dump(is_dir('D:\wps'));//判断文件路径是否是一个目录
echo'<br>';
$dir= dirname(__FILE__);
$dir=$dir.'/img/img';
if(!file_exists($dir)){
//第二个参数x--执行 r--读取 w--写 x:1 r:4 w:2 ;代表权限
mkdir($dir,0777,TRUE);//第三个参数表示创建文件的时候是否要创建多级目录,比如要创建$path="dai/php/php学习";
由于dai和PHP文件夹都不存在,所以可以使用创建多及目录的方式创建"php学习"文件

}else{
echo '文件已存在';
}
echo'<br>';
rmdir($dir);//删除目录
echo'<br>';

文件上传——前台:form.html

 1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>TODO supply a title</title>
5 <meta charset="UTF-8">
6 <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
8 </head>
9 <body><!--enctype MIME编码格式 默认格式下显示 ?name=value& $_POST[name]-->
10 <form action="fileup.php" method="post" enctype="multipart/form-data">
11 文件1: <input type="file" name="upload1">
12 文件2: <input type="file" name="upload2">
13 <br>
14 <input type="submit" value="提交">
15 </form>
16 <audio src="../../resource/2016-09-02/陈慧琳-不如跳舞.mp3" autoplay="autoplay" >
17
18 </audio>
19 </body>
20 </html>

文件上传方法:

multipart/form-data       上传图片编码格式

enctype=编码格式

iconv(UTF-8,GBK,$name);    编码格式转换

后台通过$_FILES接收文件。

tmp_name  临时文件名,上传文件是系统自动生成

header();

location.href='';    跳转页面

file_exists();   文件或目录是否存在,若不存在mkdir()创建;

move_uploaded_file($_FILES[$k]['tmp_name'],路径);    文件上传即把临时文件移动到目标路径中

opendir(一个合法的目录路径);  打开目录,一般情况下在前面加上@来抑制错误,若不能打开则返回false,

readdir(opendir($path));    读取目录,

$file=readdir(handle);必须写在while中,代表一个指针。handle为使用opendir()打开的一个目录指针。

is_dir();  判断是否是目录

is_file();  判断 是否是文件

scandir();  浏览目录

文件上传代码:fileup.php

 <?php
$limit_size=1024*1024*15;//限制文件大小
$type=['.doc','.ppt','.docx','.jpg','.txt','.mp3'];//限制上传文件类型
echo "<pre>";
var_dump($_FILES);
foreach ($_FILES as $k=>$v){
if(empty($_FILES[$k]['name'])){
echo "<script>alert('请选择上传文件');location.href='form.html';</script>";
exit;
}
$filename=$_FILES[$k]['name'];
$ext=strrchr($filename, '.');//某个字符最后一次出现的位置向后截取字符串
$pos= strrpos($filename, '.');//某个字符最后一次出现的位置
$name= substr($filename,0,$pos);
if(!in_array($ext, $type)){
echo "<script>alert('上传文件格式不对');location.href='form.html';</script>";
}
if($_FILES[$k]['size']>$limit_size){
echo "<script>alert('文件过大');location.href='form.hrml';</script>";
exit;
}
$path=dirname(__FILE__).'/../../resource/'.date('Y-m-d');
if(!file_exists($path)){//判断文件是否存在
mkdir($path);//创建
}
//文件上传其实就是把临时文件移动到目标文件
$name= iconv('UTF-8', 'GBK', $name);//编码转换,为了避免有中文字符,最好加上
$filename= iconv('UTF-8', 'GBK', $filename);
//if(copy($_FILES['upload']['tmp_name'],$path.'/'.$filename)){
// echo '上传成功';
//}else{
// echo '上传失败';
//}
move_uploaded_file($_FILES[$k]['tmp_name'],$path.'/'.$filename);
}

浏览文件目录:dir.php

 <?php
$path="../../resource/images";
function eachdir($path){
$dir=@opendir($path);
//$file=readdir($dir);//必须写在while里边,代表一个指针
while(($file=readdir($dir))!==false){
// echo $file.'<br>';
if($file=="."||$file==".."){
continue;
}
if(is_dir($path.'/'.$file)){
eachdir($path.'/'.$file);
}elseif(is_file($path.'/'.$file)){
echo $file."<br>";
}
}
}
eachdir($path);
echo '<pre>';
//var_dump(scandir($path));

file.php     文件的操作函数,

 <?php
//$handle=fopen('D:\\123.txt', 'r');//fopen打开文件,文件必须存在
//echo fgets($handle);//读取数据,只能获取一行数
//feof($handle);//测试文件指针是否到了文件的结束位置。
//while(!feof($handle)){
// echo fgets($handle);
//}
//fclose($handle);
//$handle1=fopen('D:\\123.txt', 'w');//如果文件不存在,会自动生成文件
//fwrite($handle1, 'hello php');
//fclose($handle1);
//
$handle2=fopen('D:\\123.txt', 'a');//追加,append,如果文件不存在会自动生成
fwrite($handle2, 'append content');
fclose($handle2); $handle= fopen('D:\\123.txt', 'r+');//读写的方式打开文件,
fwrite($handle, 'hello php');//不完全覆盖原来的文件,按照目前文件的字符数覆盖,
rewind($handle);//移动文件指针
while(!feof($handle)){
echo fgets($handle).'<br>';
}
fclose($handle); //$handle= fopen('D:\\123.txt', 'w+');//读写的方式打开文件,若文件不存在会自动生成
//fwrite($handle, 'hello php');//完全覆盖源文件,
//rewind($handle);//移动文件指针,把指针移动到文件的头,否则只能写入不能读取,
//while(!feof($handle)){
// echo fgets($handle).'<br>';
//}
//fclose($handle); //$handle= fopen('D:\\123.txt', 'a+');//读写的方式打开文件,若文件不存在会自动生成
//fwrite($handle, 'hello php');//完全覆盖源文件,
//rewind($handle);//移动文件指针,把指针移动到文件的头,否则只能写入不能读取,
//while(!feof($handle)){
// echo fgets($handle).'<br>';
//}
//fclose($handle); //$handle= fopen('D:\\123.txt', 'rw+');//读写的方式打开文件,若文件不存在不会自动生成
//fwrite($handle, 'hello php');//完全覆盖源文件,
//rewind($handle);//移动文件指针,把指针移动到文件的头,否则只能写入不能读取,
//while(!feof($handle)){
// echo fgets($handle).'<br>';
//}
//fclose($handle); //$handle= fopen('D:\\1234.txt', 'x');
//fwrite($handle, 'hello php'); //$handle= fopen('D:\\123.txt', 'w+');//读写的方式打开文件,若文件不存在不会自动生成
//fwrite($handle, "<h1>hello php<h1>");//完全覆盖源文件,
//rewind($handle);//移动文件指针,把指针移动到文件的头,否则只能写入不能读取,
//while(!feof($handle)){
// echo fgetss($handle).'<br>';//fgetss会过滤掉html标签或是PHP标签,一般很少用;
//}
//fclose($handle); //$handle= fopen('D:\\123.txt', 'w+');//读写的方式打开文件,若文件不存在不会自动生成
//fwrite($handle, "<h1>hello php<h1>");//完全覆盖源文件,
//rewind($handle);//移动文件指针,把指针移动到文件的头,否则只能写入不能读取,
//while(!feof($handle)){
// echo fgetc($handle).'<br>';//fgetc获取字符
//}
//fclose($handle); //$handle= fopen('D:\\123.txt', 'w+');//读写的方式打开文件,若文件不存在不会自动生成
//fwrite($handle, "<h1>hello world<h1>");//完全覆盖源文件,
//rewind($handle);//移动文件指针,把指针移动到文件的头,否则只能写入不能读取,
//while(!feof($handle)){
// echo fread($handle,2).'<br>';//fread第二个参数是字节数
//}
//fclose($handle);

文件函数:

fopen();   打开文件

fgets();   读取数据,获取下一行

fclose();   关闭文件

fwrite();

fread();   读取任意长度字符串

rewind();  移动指针到文件头

调用fgets函数后,文件指针会移动到下一行,

调用fgetc函数后,文件指针会移动到下一个字符,

读取文件内容有三种方法:  (这里的内容包括本地内容和url地址)

1,readfile();返回字符串和长度

2,file();      返回数组

3,file_get_contents();  返回字符串

file_get_contents();  //集合了fopen(),fgets(),fclose()

file_put_contents(文件地址,追加内容,FILE_APPEND);   //相当于fopen(),fwrite(),fclose,

basename();   根据路径返回文件名

dirname(/a/b);     获取目录的名称/a

dirname(__FILE__);相当于__DIR__

directory-separator       文件目录分割符,是一个常量,在Windows下时\      在Linux下是/

pathinfo();  返回文件相关信息(数组)

mkdir();   新建目录

rmdir();   删除目录

file文件的操作的更多相关文章

  1. javaSE——File文件的操作

    File文件操作: 在java中,File是文件和文件夹的总称. 在java中也是一个类,可以创建多个file对象. File类的一些API import java.io.File; public c ...

  2. java中的File文件读写操作

    之前有好几次碰到文件操作方面的问题,大都由于时间太赶而没有好好花时间去细致的研究研究.每次都是在百度或者博客或者论坛里面參照着大牛们写的步骤照搬过来,之后再次碰到又忘记了.刚好今天比較清闲.于是就在网 ...

  3. (七)File 文件的操作

    一.文件读写模式 1.文件的几种模式: 格式:f=open("文件名","模式",encode="utf-8") #文件的只读模式 f1=o ...

  4. FILE文件删除操作(删除指定文件夹下所有文件和文件夹包括子文件夹下所有文件和文件夹),就是删除所有

    2018-11-05  19:42:08开始写 选择 删除 1.FileUtils.java类 import java.io.File;//导入包 import java.util.List;//导入 ...

  5. file 文件的操作

    1.写入文件: (1)第一种方式    f = open("filename",'mode')  #先打开一个文件,没有的话创建这个文件,mode是模式.有r 只读,w写,rw读写 ...

  6. ArcGIS加载数据中常用的File文件方法总结

    在介绍ArcGIS中各种数据的打开方法时,我们用到了许多对于File文件的操作,在此做一个常用用法的总结.例如, 介绍ArcGIS中各种数据的打开方法——mxd(地图文档) 以方法一为例:运用Load ...

  7. Java文件IO操作应该抛弃File拥抱Paths和Files

    Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem; ...

  8. Java文件IO操作应该抛弃File拥抱Path和Files

    Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem; ...

  9. C语言中file文件指针概念及其操作 (转载)

    文件 文件的基本概念 所谓"文件"是指一组相关数据的有序集合. 这个数据集有一个名称,叫做文件名.实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件. ...

随机推荐

  1. The quieter you become,The more you are able to hear.

  2. 根据键盘调整textField(多个)位置使其不会被键盘挡住

    当一个界面上有个textField时,键盘出现时需要保证textField不会被键盘挡住. 一般的做法是,监听 UIKeyboardWillShowNotification和 UIKeyboardWi ...

  3. 希尔排序(Shell)

    希尔排序的实质就是分组插入排序,该方法又称缩小增量排序. 该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序, ...

  4. android加固系列—1.如何检验so文件是否加壳成功

    程序对so文件加壳后,如何验证是否加壳成功呢,首先除了能在应用中正常运行外,还要用IDA来检测: 绿色乱码表示rr这个函数成功加密: 工具下载,可支持动态调试版:

  5. ios 颜色转图片

    - (UIImage *)imageWithColor:(UIColor*) color{    CGRect rect=CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);    ...

  6. 【VLC-Android】LibVLC API简介(相当于VLC的MediaPlayer)

    前言 学新东西API很重要,这里抛砖引玉整理了一下,欢迎反馈! 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http://over14 ...

  7. Windows 编程中的字符串(2)

    (1)windows写日志系统 void writeDebugEventLog(TCHAR* pszMessage, WORD wType) { //#ifdef _DEBUG HANDLE hEve ...

  8. Lojic X

    媒体 赫兹 电话  500HZ 网络数据 8000HZ CD  44100HZ  电脑 48000HZ DVD 96000HZ 最大值(蓝光) 192000HZ   横向———————— 清晰度   ...

  9. HTML制作个人简历

    简历代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...

  10. Java Se: Logging 框架说明

    Java Logging 用惯了log4j等日志工具,竟然不知Java还自带了个log工具.今天有空了就来了解一下. 先来看一个简单的例子: public class SystemTest { pri ...