PHP文件系统

(当成是扩展C++来看就行了,几乎一样):

读取整个文件readfile() 、file()、 file_get_contents()

<?php
    readfile('file.dat');
    echo '<br>';
    $f_arr = file('file.dat');
    foreach($f_arr as $cont){
        echo $cont."<br>";
    }
    echo '<br>';
    $f_chr = file_get_contents('file.dat');
    echo $f_chr;
?>

读取一个字符就用   string fgetc(resource handle)

读取制定长度的字符 string fread(resource handle ,int length)

获取一行数据fgets() fgetss()

<?php
   $fopen = fopen('file.dat' ,'rb');
    while(!feof($fopen)){
        echo fgets($fopen);
    }
    fclose($fopen);

    echo'<br>..................<br>';
    $fopen2 = fopen('file.dat' ,'rb');
    while(!feof($fopen2)){
    echo fgetss($fopen2);
    }
    fclose($fopen2);
?>

将数据写入文件:fwrite()  file_put_contents()

<?php
    $filepath = "w.txt";
    $str = "ci qing ke dai cheng zhui yi ,zhi shi dang shi yi wang ran<br>";
    $fopen = fopen($filepath ,'wb') or dir('wen jian bu cun zai');
    fwrite($fopen ,$str);
    fclose($fopen);
    readfile($filepath);

    file_put_contents($filepath ,$str);
    readfile($filepath);
?>

文件操作:

目录处理

枚举目录:

<?php
    $path = 'C:';
    if(is_dir($path)){
        $dir = scandir($path);
        foreach($dir as $value){
            echo $value."<br>";
        }
    }else{
        echo 'error';
    }
?>

目录操作:

远程文件访问:

文件指针 rewind() fseek() ftell()

文件锁定:

文件上传:

<table width="500" border="0" cellspacing="0" cellpadding="0">
    <form action="" method="post" enctype="multipart/form-data">
        <tr>
            <td width="150" height="30" align="right" valign="middle">Wen Jian:</td>
            <td width="250"><input type="file" name="upfile"/></td>
            <td width="100"><input type="submit" name="submit" value="shang chuan"/></td>
        </tr>
    </form>
</table>

<?php
if(!empty($_FILES['upfile']['name'])){
//    foreach($_FILES['upfile'] as $name => $value){
//        echo $name.'='.$value.'<br>';
//    }
    $fileinfo = $_FILES['upfile'];
    if($fileinfo['size'] < 10000000 && $fileinfo['size'] > 0){
        move_uploaded_file($fileinfo['tmp_name'] ,$fileinfo['name']);
        echo 'yes';
    }else{
        echo 'no';
    }
}
?>

文件批量上传

<form action="" method="post" enctype="multipart/form-data">
    <table id="up_table" border="1" bgcolor="f0f0f0">
        <tbody id="auto">
            <tr id="show">
                <td>shang chuan</td>
                <td><input name="u_file[]" type="file"></td>
            </tr>
            <tr>
                <td>shang chuan</td>
                <td><input name="u_file[]" type="file"></td>
            </tr>
        </tbody>
        <tr><td colspan="4"><input type="submit" value="shang chuan"/></td></tr>
    </table>
</form>

<?php
if(!empty($_FILES['u_file']['name'])){

    $file_name = $_FILES['u_file']['name'];
    $file_tmp_name = $_FILES['u_file']['tmp_name'];
    for($i = 0 ;$i < count($file_tmp_name) ;$i ++){
        if($file_name[$i] != ""){
            move_uploaded_file($file_tmp_name[$i] ,$i.$file_name[$i]);
            echo 'wen jian'.$file_name[$i].'yes<br>.';
        }
    }
}
?>

9.PHP文件处理的更多相关文章

  1. Mapreduce的文件和hbase共同输入

    Mapreduce的文件和hbase共同输入 package duogemap;   import java.io.IOException;   import org.apache.hadoop.co ...

  2. mapreduce多文件输出的两方法

    mapreduce多文件输出的两方法   package duogemap;   import java.io.IOException;   import org.apache.hadoop.conf ...

  3. 01.SQLServer性能优化之----强大的文件组----分盘存储

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 文章内容皆自己的理解,如有不足之处欢迎指正~谢谢 前天有学弟问逆天:“逆天,有没有一种方 ...

  4. SQL Server 大数据搬迁之文件组备份还原实战

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 解决方案(Solution) 搬迁步骤(Procedure) 搬迁脚本(SQL Codes) ...

  5. SQLSERVER将一个文件组的数据移动到另一个文件组

    SQLSERVER将一个文件组的数据移动到另一个文件组 有经验的大侠可以直接忽视这篇文章~ 这个问题有经验的人都知道怎麽做,因为我们公司的数据量不大没有这个需求,也不知道怎麽做实验 今天求助了QQ群里 ...

  6. SQL Server中的高可用性(2)----文件与文件组

        在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...

  7. C# ini文件操作【源码下载】

    介绍C#如何对ini文件进行读写操作,C#可以通过调用[kernel32.dll]文件中的 WritePrivateProfileString()和GetPrivateProfileString()函 ...

  8. 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用

    有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...

  9. 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新

    上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...

  10. GreenDao 数据库:使用Raw文件夹下的数据库文件以及数据库升级

    一.使用Raw文件夹下的数据库文件 在使用GreenDao框架时,数据库和数据表都是根据生成的框架代码来自动创建的,从生成的DaoMaster中的OpenHelper类可以看出: public sta ...

随机推荐

  1. 人脸识别分析小Demo

    人脸识别分析 调用 腾讯AI人脸识别接口 测试应用 纯py文件测试照片 # -*- coding: utf-8 -*- import json from tencentcloud.common imp ...

  2. 死磕Spring之IoC篇 - Spring 应用上下文 ApplicationContext

    该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读 Spring 版本:5.1. ...

  3. 分布式session实现方式

    一.背景 在搭建完集群环境后,不得不考虑的一个问题就是用户访问产生的session如何处理. 如果不做任何处理的话,用户将出现频繁登录的现象,比如集群中存在A.B两台服务器,用户在第一次访问网站时,N ...

  4. 性能追击:万字长文30+图揭秘8大主流服务器程序线程模型 | Node.js,Apache,Nginx,Netty,Redis,Tomcat,MySQL,Zuul

    本文为<高性能网络编程游记>的第六篇"性能追击:万字长文30+图揭秘8大主流服务器程序线程模型". 最近拍的照片比较少,不知道配什么图好,于是自己画了一个,凑合着用,让 ...

  5. js 检测当前浏览其类型

    需求:检测并打印当前使用的浏览器类型 <script type="text/javascript"> function getBrowser(){ const str ...

  6. 提升Idea启动速度与Tomcat日志乱码问题

    提升Idea启动速度与Tomcat日志乱码问题 前言 由于重装了一次Idea,所以有些设置时间就忘了,在此做个记录,以便以后忘记后可以来翻阅 Idea启动速度 一.将Idea所在的 安装文件夹 在wi ...

  7. 从源码剖析Go语言基于信号抢占式调度

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com/archives/485 本文使用的go的源码15.7 这一次来讲讲基于信号式抢占式调度 ...

  8. 解Bug之路-主从切换"未成功"?

    解Bug之路-主从切换"未成功"? 前言 数据库主从切换是个非常有意思的话题.能够稳定的处理主从切换是保证业务连续性的必要条件.今天笔者就来讲讲主从切换过程中一个小小的问题. 故障 ...

  9. golang 性能优化分析:benchmark 结合 pprof

    前面 2 篇 golang 性能优化分析系列文章: golang 性能优化分析工具 pprof (上) golang 性能优化分析工具 pprof (下) 一.基准测试 benchmark 简介 在 ...

  10. 量体裁衣方得最优解:聊聊页面静态化架构和二级CDN建设

    量体裁衣方得最优解:聊聊页面静态化架构和二级CDN建设 上期文章中我们介绍了CDN和云存储的实践,以及云生态的崛起之路,今天,我们继续聊一聊CDN. 我们通常意义上讲的CDN,更多的是针对静态资源类的 ...