当前位置:Gxlcms > PHP教程 > PHP学习笔记--文件目录操作(文件上传实例)

PHP学习笔记--文件目录操作(文件上传实例)

时间:2021-07-01 10:21:17 帮助过:17人阅读

文件操作是每个语言必须有的,不仅仅局限于PHP,这里我们就仅用PHP进行讲解

php的文件高级操作和文件上传实例我放在文章的最后部分。--以后我还会给大家写一个PHP类似于网盘操作的例子

注意:阅读此文章,必须的备一个 《PHP中文手册》或者其它可以查询PHP函数的手册 因为文章有大量的示例,但是为了节约篇幅和时间,所以请大家自行查阅PHP手册,以明白函数的具体作用

1、php打开文件和关闭文件

  用到的函数 fopen() 、fclose() 注:打开的文件一定要关闭! 具体函数参数请查阅php手册

实例:

View Code

fopen()函数在php5中也支持url格式:

View Code

2、PHP的文件读写

  读操作-

用到的函数 readfile()、file()、file_get_contents()、fgets()、fgetss()、fgetc()

示例中的文件位置请根据自己的文件进行更改,不要纠结文件位置和文件名什么的。重点在学习

文件测试
使用 readfile()函数读取文件内容:
使用 file()函数读取文件内容: "; } ?>
使用 file_get_contents()函数读取文件内容:
使用fgets()函数: 输出当前行 } fclose($fopen); //关闭文件 ?>
使用fgetss()函数: 输出当前行 } fclose($fopen); ?>
使用fgetc()函数: 输出该字符 } fclose($fopen); //关闭文件资源 ?>

View Code

写操作-

用到的函数 fwrite()、 file_put_contents()

";    echo fread($fp,filesize($filename)); //
输出其余的文件内容 */ $filepath = "05.txt"; $str = "此情可待成追忆 只是当时已惘然
"; echo "用 fwrite() 函数写入文件: "; $fopen = fopen($filepath,"wb") or die("文件不存在"); fwrite($fopen,$str); fclose($fopen); readfile($filepath); echo "

用 file_put_contents() 函数写入文件: "; file_put_contents($filepath,$str); readfile($filepath);?>

View Code

3、php文件本身的操作

本示例只是列举函数,请不要直接运行。运行前请根据自己的需求更改

View Code

===================================================================

一、php目录操作

和文件操作类似,也要打开关闭目录 用opendir()、和closedir()函数进行打开和关闭目录

输出目录指针        }    }    else    {        echo '路劲错误';        exit();    }    closedir($dire);    //关闭目录?>

View Code

二、php目录的游览

核心函数 scandir()

";        }    }    else    {        echo "目录路径错误!";        }?>

View Code

三、php目录的其他操作,获取磁盘目录大小,新建删除目录等等

本示例只是列举函数,请不要直接运行。运行前请根据自己的需求更改

";    chdir("../");  //更改为返回上一级    echo getcwd(); //重新获取当前目录        /*用disk_free_space()函数 返回目录中的可用空间*/    echo disk_free_space("D:/")/pow(1024,3);  //这里换算成了G、默认是以字节显示的        /*用disk_total_space()函数 返回目录中的可用空间*/    echo disk_total_space("D:/")/pow(1024,3);  //这里换算成了G、默认是以字节显示的        /*关于PHP5以前的老游览目录的方法 我就不列举了,这里仅仅给出函数名: readdir()、rewinddir()*/?>

View Code

====================================================================

文件的高级运用

文件指针:

";   //
输出总字节数 $fopen = fopen($filename,"rb"); //打开文件 , 以只读的二进制文件格式的去 echo "初始指针位置是: ".ftell($fopen)."
"; //输出指针位置 fseek($fopen,3); //移动指针 echo "使用 fseek() 函数后指针位置: ".ftell($fopen)."
"; //输出移动后的指针位置 echo "输出当前指针后面的内容: ".fgets($fopen)."
"; //输出从当前指针到行尾的内容 if(feof($fopen)) //判断指针是否指向文件末尾 { echo "当前指针指向文件末尾: ".ftell($fopen)."
"; //如果指向了文件尾,则输出指针位置 } //使用rewind() 函数返回文档流的开头 --一旦流读到末尾再度就读不到数据了, //所以这里要重新指向一个文件的指针 rewind($fopen); //查看使用 rewind() 函数后指针的位置 echo "使用 rewind() 函数后指针的位置: ".ftell($fopen)."
"; echo "输出前 6 个字节的内容: ".fgets($fopen,6); //输出前6个字节的内容 fclose($fopen); //关闭文件 } else { echo "文件不存在!"; }?>

View Code

文件锁定:

输出文件内容?>

View Code

====================================================================

文件的上传

获取上传文件的信息:

无标题文档    
$value) //使用foreach循环
输出上传文件信息的名称和值 { echo $name.'='.$value."
"; } } ?>

View Code

真正的文件上传(从临时到指定位置):

无标题文档         0)  //判断文件大小            {                //上传文件                move_uploaded_file($fileinfo['tmp_name'],"upfile/".$fileinfo['name']);                echo "文件上传成功!";            }            else            {                echo "文件太大或者未知";                }        }    ?>

View Code

多文件上传:

无标题文档        ";                }            }        }    ?>

View Code

人气教程排行