对于文件的操作可以使用PHP内置的文件系统函数,可以创建、读取、写入、重命名、删除等。下面是一些常用的文件操作函数:
PHP学习文件处理与文件上传 课件攻略
文件处理
对于文件的操作可以使用PHP内置的文件系统函数,可以创建、读取、写入、重命名、删除等。下面是一些常用的文件操作函数:
文件打开和关闭
函数 | 描述 |
---|---|
fopen() |
打开文件或URL |
fclose() |
关闭打开的文件资源 |
示例说明1:
$file = fopen("example.txt", "r");
// 读取文件中的一行
echo fgets($file);
fclose($file);
文件读取
函数 | 描述 |
---|---|
fread() |
读取文件 |
fgets() |
读取文件中的一行 |
file_get_contents() |
将整个文件读入一个字符串 |
示例说明2:
$file = fopen("example.txt", "r");
// 按照指定的字节数读取文件
echo fread($file, 10);
fclose($file);
文件写入
函数 | 描述 |
---|---|
fwrite() |
写入文件 |
file_put_contents() |
写入文件 |
示例说明3:
$file = fopen("example.txt", "w");
$txt = "Hello World!";
// 将内容写入文件
fwrite($file, $txt);
fclose($file);
文件上传
HTML表单允许我们通过上传文件来与服务器进行交互。在服务器端,PHP的$_FILES
数组包含了所有上传的文件的信息。
文件上传基础
要启用文件上传,必须在表单中使用enctype="multipart/form-data"
属性,如下所示:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="上传文件" name="submit">
</form>
然后我们可以使用PHP来处理文件上传:
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "文件已成功上传";
} else {
echo "上传文件时出错";
}
文件上传限制
可以对上传的文件类型、大小进行限制。以下是一些限制的例子:
- 只允许上传图片文件:
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "只允许上传 JPG, JPEG, PNG & GIF 格式的文件";
$uploadOk = 0;
}
- 只允许上传小于500KB的文件:
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "文件大小超过限制";
$uploadOk = 0;
}
总结
文件处理和文件上传是PHP常见的用途之一,熟练掌握这些操作对于Web开发者来说是非常重要的技能。本文介绍了文件处理和文件上传的基本方法和限制。
沃梦达教程
本文标题为:PHP学习文件处理与文件上传 课件
猜你喜欢
- 解决Linux下php-fpm进程过多导致内存耗尽问题 2022-10-02
- PHP实现LRU算法的示例代码 2023-06-26
- YII2框架中ActiveDataProvider与GridView的配合使用操作示例 2023-04-02
- PHP与Web页面的交互示例详解二 2023-04-25
- thinkphp5.1框架模板赋值与变量输出示例 2023-04-19
- PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】 2023-01-04
- php 数组的合并、拆分、区别取值函数集 2024-01-02
- PHP5.6读写excel表格文件操作示例 2022-12-29
- php自动提交表单的方法(基于fsockopen与curl) 2024-03-07
- PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤) 2023-04-25