PHP入门(10)文件系统

PHP提供了一系列文件函数可以对文件进行操作,同时也支持文件上传的功能。

在PHP中,访问一个文件要经历三个步骤,打开文件,读写文件,关闭文件。

  1. 打开文件

resource fopen(string filename,string mode)

filename 文件的完整路径名

mode 文件的打开方式,一般常用的有 r(只读) w(只写) a(追加写)

<?php
$file1 = fopen("count.txt","r");//文件不存在会报错
$file2 = fopen("C:/count.txt","w");//文件不存在会创建文件,文件存在会清空文件的内容。

读文件

读取一个字符 string fgetc(resouce handle);

读取一行数据 string fgets(resource handle);

读取任意长度的字符串 string fread(resouce handle,int length);

读取整个文件 int readfile(string filename);//不用打开关闭文件 也不用echo print

array file(string filename);按行将文件内容存在数组中

string file_get_contents(string filename);

写文件

int fwrite(resource handle,string string);

int file_put_contents(string filename,string data);

关闭文件

bool fclose(resource handle);

另外还有很多文件操作的函数,使用时自行查找。

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

文件的上传

要实现文件上传功能,需要配置php.ini文件

file_uploads = On;  是否支持文件上传功能,必须开启

upload_tmp_dir ="D:\tmp\";  上传文件的临时目录

upload_max_filesize = 2M;   允许上传文件的大小

File_Uploads还有几个属性会影响上传文件的功能

max_execution_time PHP中的一个指令能执行的最大时间

memory_limit  PHP一个指令分配的内存空间

$_FILES存储的是上传文件的相关信息 该变量是一个二维数组

$_FILES[filename][name]  上传文件名

$_FILES[filename][size]  上传文件大小

$_FILES[filename][tmp_name]

$_FILES[filename][type]  上传文件的类型

$_FILES[filename][error]

文件上传函数

bool move_uploaded_file(string filename,string destination);

<form name="form1" method="post" enctype="multipart/form-data" action="">
    <input type="file" name="upfile">
    <input type="submit" value="submit">
</form>
<?php
if(!empty($_FILES)){
    foreach($_FILES["upfile"] as $name=>$value){
        echo "$name   $value"."<br>";
    }
    $path = "upfile/".$_FILES["upfile"]["name"];
    move_uploaded_file($_FILES["upfile"]["tmp_name"],$path);
}

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

时间: 2024-10-10 17:01:19

PHP入门(10)文件系统的相关文章

Android入门之文件系统操作(一)简单的文件浏览器 (转)

Android入门之文件系统操作(一)简单的文件浏览器 (转)        1. import java.io.File; 2. import java.util.*; 3. 4. import android.app.Activity; 5. import android.content.Context; 6. import android.os.*; 7. import android.view.*; 8. import android.widget.*; 9. import androi

Android入门之文件系统操作

Android入门之文件系统操作(二)文件操作相关指令 (转) (一)获取总根 File[] fileList=File.listRoots(); //返回fileList.length为1 //fileList.getAbsolutePath()为"/" //这就是系统的总根 File[] fileList=File.listRoots(); //返回fileList.length为1 //fileList.getAbsolutePath()为"/" //这就是系

linux从初识到入门_文件系统

基础目录名称及作用规定 Filesystem Hierarchy Standard   #标准文件系统目录  即FHS /bin:所有用户可用的基本命令程序文件: /sbin:供系统管理使用的工具程序: /boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等: /dev:存储特殊文件或设备文件: 设备有两种类型:字符设备(线性设备).块设备(随机设备): /etc:系统程序的配置文件,只能为静态: /home:普通的家目录的集中位置:一般每个

算法竞赛入门10.2计数与概率基础例题代码

10.6 Irrelevant Elements UVA1635 思路:基础组合计数 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> const int N = 1e5+5; using namespace std; long long C[N][20]; int prime[20][2]; inline int judge(int x,int m,int k) {

ASP.NET MVC 入门10、Action Filter 与 内置的Filter实现(实例-防盗链)

原帖地址:http://www.cnblogs.com/QLeelulu/archive/2008/10/13/1310419.html 前一篇中我们已经了解了Action Filter 与 内置的Filter实现,现在我们就来写一个实例.就写一个防盗链的Filter吧. 首先继承自FilterAttribute类同时实现IActionFilter接口,代码如下: /// <summary> /// 防盗链Filter. /// </summary> public class An

Python零基础入门(10)------- str 字符串

编程中使用频率非常高的数据类型 "str 字符串" ,字符串属于不可变序列. Python中声明字符串 使用 '单引号' 或者 "双引号" 都是可以的 . 字符串的引号前后匹配的 下面是实现多行字符串: 三个引号 """这里放放着多行文本""" 直接输出看到的 \n 代表着换行符,  这种斜杠后跟着某个字符串的字符称之为转义字符 [转义字符个人理解:表示那些在电脑上不可显示的特殊字符] print() 打印

Cg入门10:Vertex Shader - 几何变换 —MVP矩阵变换

Unity内建矩阵类型: M:世界矩阵 V:摄像机矩阵 P:投影矩阵 T :矩阵的转置 IT : 转置的的逆 _Object2World: 模型到世界矩阵 _World2Object:世界到模型矩阵 MVP 矩阵变换:Shader Demo MVP 转置变换:C# demo Matrix4x4 mvp = Camera.main .projectionMatrix * Camera.main .worldToCameraMatrix * transform .localToWorldMatrix

【Asp.net入门10】第一个ASP.NET 应用程序-处理窗体(1)

我们创建了一个HTML窗体,可以通过它显示受邀参加晚会的嘉宾,但是,当嘉宾单击Submit RSVP按钮时,同一个页面会反复多次显示.为了解决此问题,需要实现一段代码,用于在将窗体数据发布到服务器时执行相关处理. Default.aspx文件的顶部包含以下元素: 这称为Page指令,Page指令定义的特性为ASP.NET提供了有关Web窗体文件的详细信息.这条Page指令的CodeBehind属性值告诉asp.net平台,本项目中哪个C#类文件是与本Web窗体相关联的.在本示例中,它是Defau

scala入门-10 隐式转换、隐式参数、隐式类

到目前为止,隐式转换是scala的重点和难点了,加油~ 我们先创建一个类名称叫Implicit.scala 再看一个隐式参数的例子: 上面的例子中使用了隐式参数,我们也可以明显的指明参数: 下面看一下隐式类: 相当于: 到目前为止,本人已经把所有scala在spark中开发中所涉及的基础知识练习了一遍了,稍后我会把scala其他方面知识在总结一下 谢谢大家抽出时间阅读

Android入门之文件系统操作(二)文件操作相关指令

(一)获取总根 [java] view plain copy File[] fileList=File.listRoots(); //返回fileList.length为1 //fileList.getAbsolutePath()为"/" //这就是系统的总根 (二)打开总根目录 [java] view plain copy File file=new File("/"); File[] fileList=file.listFiles(); //获取的目录中除了&q