对于文件的操作可以使用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学习文件处理与文件上传 课件


基础教程推荐
猜你喜欢
- laravel多视图共享数据实例代码 2023-06-19
- php中正则表达式中的特殊符号 2024-02-02
- 3种方法轻松处理php开发中emoji表情的问题 2024-02-02
- Thinkphp自定义美化success和error提示跳转页面代码实例 2023-05-19
- 比较全面的PHP数组的使用方法小结 2023-12-26
- PHP preg_replace() 正则替换所有符合条件的字符串 2024-01-02
- PHP获取字符流中第一个不重复字符的方法 2022-10-05
- php创建类并调用的实例方法 2023-12-10
- PHP如何引入OpenAI(ChatGPT) 2023-08-30
- PHP二维数组分页2种实现方法解析 2023-04-24