php 处理文件

WEB在线文件管理系统(PHP) 本项目适合PHP新手学习使用,该项目是写的一个WEB在线管理文件系统,使用了layui前端框架,模仿TP封装的Scarecrow框架,框架简洁包含了MVC的精髓以及路由管理等,代码量 不大,很适合PHP新手学习框架知识的来学习。 立即下载

今天来总结一下php怎么处理文件。包括文件的读取与写入,文件的上传。文件的下载。

一、文件的读写

php 提供了许多处理文件的方法,我这里只讲其中一部分,更多方法请去php官网查看。

1.打开文件

 $file = fopen(路径,打开模式);

fopen()方法为我们打开文件,如果成功返回该文件,如果失败返回(0)false。它有两个参数,第一个参数是打开文件的路径,第二个参数是打开文件的模式。打开模式提供一下方法:

模式解释
r只读。在文件的开头开始。
r+读/写。在文件的开头开始。
w只写。打开并清空文件的内容;如果文件不存在,则创建新文件。
w+读/写。打开并清空文件的内容;如果文件不存在,则创建新文件
a追加。打开并向文件末尾进行写操作,如果文件不存在,则创建新文件。
a+读/追加。通过向文件末尾写内容,来保持文件内容。
x只写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。
x+读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。

2.检测文件末尾

feof($file)

用于当读取文件时,判断是否达到文件末尾,达到了返回true。未达到返回false。

3.读取文件

fgets( $file )  // 逐行读取文件,可以利用它来判读文件有多少行
fgetc($file) // 逐字符读取文件

4.关闭文件

fclose( $file )    

5.写入内容:

file_put_contents(file,data,mode,context)
  • file 必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。
  • data 必需。规定要写入文件的数据。可以是字符串、数组或数据流。
  • mode 可选。规定如何打开/写入文件。可能的值:

FILE_USE_INCLUDE_PATH
FILE_APPEND
LOCK_EX

  • context 可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。

写入文件遵循以下规则:

如果设置了 FILE_USE_INCLUDE_PATH,那么将检查 filename 副本的内置路径
如果文件不存在,将创建一个文件
打开文件
如果设置了 LOCK_EX,那么将锁定文件
如果设置了 FILE_APPEND,那么将移至文件末尾。否则,将会清除文件的内容
向文件中写入数据
关闭文件并对所有文件解锁

6.其他函数

file_get_contents() // 把文件读入字符串
basename() // 返回路径中文件名不封
copy() // 复制文件
dirname() // 返回路径中的目录名称部分
disk_free_space() // 返回目录的可用空间
disk_tota;_space() // 返回一个目录磁盘的总容量
filesize() // 返回文件大小
unlink() // 删除文件
move_uploaded_file() // 将文件保存到指定文件夹

重点内容
向文件写入内容时,要将文件权限设置为 777;具体设置方法,我这不在写,可以网上搜索。

二、上传文件

这里直接上代码,因为比较简单。
HTML:

<form action="upload.php" method='post' enctype="multipart/form-data">
    <p><input type="file" name="file"></p>
    <p><input type="submit"></p>
</form>

PHP:

<?php
header("Content-type:text/html;charset=utf-8");


echo "文件名称 " . $_FILES["file"]["name"] . '<br/>';
echo "文件大小,以字节计 " . $_FILES["file"]["size"] . '<br/>';
echo "文件类型 " . $_FILES["file"]["type"] . '<br/>';
echo "文件临时存储的位置 " . $_FILES["file"]["tmp_name"] . '<br/>';
echo "文件上传导致的错误代码: " . $_FILES["file"]["error"] . '<br/>';

// 上面是获取文件的一些信息,form表单提交后,利用超全局变量$_FILES 就可以获取上传文件。

if(file_exists("newfile/" . $_FILES["file"]["name"])){ // 判断文件是否存在

    echo $_FILES["file"]["name"] . "已存在";

}else{

    // 将缓存文件保存的指定文件夹
move_uploaded_file($_FILES['file']['tmp_name'],"newfile/".$_FILES["file"]["name"]);
}

?>
三、下载文件
<?php
header("Content-type:text/html;charset=utf-8");



$file_name = "text.txt";     //下载文件名    
$file_dir = "./";        //下载文件存放目录    
//检查文件是否存在    
if (! file_exists ( $file_dir . $file_name )) {    
    echo "文件找不到";    
    exit ();    
} else {    
    //打开文件    
    $file = fopen ( $file_dir . $file_name, "r" );    
    //下载文件需要用到的头     
    Header ( "Content-type: application/octet-stream" );    
    Header ( "Accept-Ranges: bytes" );    
    Header ( "Accept-Length: " . filesize ( $file_dir . $file_name ) );    
    Header ( "Content-Disposition: attachment; filename=" . $file_name );    
    //输出文件内容     
    //读取文件内容并直接输出到浏览器    
    echo fread ( $file, filesize ( $file_dir . $file_name ) );    
    fclose ( $file );    
    exit ();    
}    


?>
  • Header(“Content-type: application/octet-stream”)的作用:通过这句代码客户端浏览器就能知道服务端返回的文件形式
    Header(“Accept-Ranges: bytes”)的作用:告诉客户端浏览器返回的文件大小是按照字节进行计算的
    Header(“Accept-Length:”.file_size)的作用:告诉浏览器返回的文件大小 Header(“Content-Disposition: attachment; filename=”.filesfile_name)的作用:告诉浏览器返回的文件的名称
    以上四个Header()是必需的
告别手动打点!用Cesium为你的大疆无人机快速生成区域巡查航线(保姆级教程) 本文详细介绍了如何利用Cesium平台为大疆无人机快速生成区域巡查航线的保姆级教程。通过自动化航线规划,告别传统手动打点的繁琐操作,实现高效、无死角的区域覆盖。文章涵盖环境搭建、实战案例及高级优化技巧,特别适合无人机操作员和巡检工作者提升工作效率。 阅读详情

相关推荐

EB tresos配置指南:CAN通信信号收发全流程解析

本文详细解析了使用EB tresos配置工具实现AUTOSAR架构下CAN通信信号收发功能的全流程。从环境准备、COM模块信号定义、PduR路由配置、CanIf硬件抽象到CAN驱动层设置,提供了清晰的步骤指南和关键配置要点,帮助开发者快速打通从应用层到物理层的数据链路,实现可靠的CAN通信。

weixin_29192141的博客 511

PHP文件处理

今天学习一下文件的基本处理1.打开文件fopen($filename,$mode);       $filename        表示要打开的文件路径        $mode            表示打开的方式(读,写)        例如:fopen ($file , "ab");        强烈建议用fopen()打开文件时总是使用标记 b    'r'只读方式打开,将文件指针指向文...

Strugglin的博客 933

PaddleOCRv5训练自己的模型-微调文字识别模型

本文介绍了使用PaddleOCR微调文字识别模型的具体步骤。首先需要按照官方格式准备数据集,包括图片和标注文件。然后进行模型训练,包括环境安装、预训练模型下载、配置文件修改等关键环节,特别针对训练中可能出现的类别数不匹配问题提供了三种解决方案。文章还详细说明了模型导出为静态图格式的方法,以及如何调用训练好的模型进行推理。整个过程涉及多个技术细节,如早停机制设置、断点续训方法等,为需要提升OCR识别精度的开发者提供了实用指导。

weixin_43827982的博客 3177

PHP操作文件的常用函数

文章目录fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] ) : resource 打开文件或者 URLfwrite ( resource $handle , string $string [, int $length ] ) : int 写入文件ba...

Little bear's blog 5788

51单片机AHT20-21源代码

传感器输出经过 标定的数字信号,标准 I 2 C 格式。AHT20 配有一个全新设计的 ASIC专用芯片、一 个经过改进的MEMS半导体电容式湿度传感元件和一个标准的片上温度传感元件,其 性能已经大大提升甚至超出了前一代传感器的可靠性水平,新一代温湿度传感器, 经过改进使其在恶劣环境下的性能更稳定。但是现在网上的大多数原码都是针对stm32等的这种多位单片机,而我们都知道51单片机是8位单片机,无法对浮点数进行运算,对32位的整数计算有时候也不是很准确,所以我对网上stm32的例程进行了修改。...

wd0710的博客 4549

基于图神经网络的社交网络虚假账号检测系统 (Graph-based Fake Account Detection System, GFADS)

FOLLOWSRETWEETSSHAREDCOMMENTSLIKESMENTIONSUseruser_idusernamejoin_datebioavatar_urllocationverifiedis_fakeLOAD CSV这是决定模型性能的关键环节,需结合和。XXedge_indexy新账号缺乏历史数据和丰富关系。全网图可能包含数亿节点和数十亿边,难以直接训练。社交网络是动态变化的,虚假账号策略也在不断进化。获取大规模、高质量的真实/虚假账号标注数据非常困难。

Deng945201314的博客 1481

php处理文件,PHP 文件处理方法

1、fopen() 函数用于在 PHP 中打开文件。函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件:$file=fopen("welcome.txt","r");?>文件可能通过下列模式来打开:r只读。在文件的开头开始。r+读/写。在文件的开头开始。w只写。打开并清空文件的内容;如果文件不存在,则创建新文件。w+读/写。打开并清空文件的内容;如果文件不存在,则...

weixin_34012046的博客 290

BAPI_OUTB_DELIVERY_CHANGE扩展指南:利用EXTENSION2与SMOD_V50B0001实现自定义字段更新

本文详细解析了如何利用BAPI_OUTB_DELIVERY_CHANGE的EXTENSION2参数与增强点SMOD_V50B0001,在不修改标准代码的前提下,安全、标准地更新SAP交货单的自定义字段。通过清晰的步骤指南和实战代码示例,帮助开发者掌握通过增强字段实现定制化业务需求的完整流程与调试技巧。

fanta的博客 451

PHP中的文件处理:PHP中的文件处理

PHP 中的文件处理是指该语言中可用的各种函数和方法,使开发人员能够读取、写入、操作和管理服务器或本地计算机上的文件和目录。PHP 提供了几个内置函数,如 open()、fwrite()、fread()、fclose() 等,以不同的模式操作文件,如读、写、追加、二进制,etc. PHP还提供了管理目录的函数,例如 opendir() 打开目录,readdir() 读取目录的内容,closeir() 关闭目录。这些功能使开发人员能够创建、移动、重命名、删除和管理文件和目录。

新华编程特战队 1337

RAG 提示词工程最佳实践

虽然目前网络上关于提示工程的相关资料已经多如牛毛,然而 RAG (检索增强生成) 任务中提示工程如何进行的资料相对而言却较少。不少朋友之前也热烈的讨论过 RAG 场景下提示词的运用,因此 Zen 禅与计算机程序设计艺术 特别推出 RAG 任务下的提示词实践经验系列分享。RAG 是检索增强生成(Retrieval Augmented Generation)的简称,是当前最火热的企业级LLM应用方案。

AI天才研究院 2013

YOLO11改进-注意力-引入Deformable Large Kernel Attention (DLKA) 解决多尺度、小目标、遮挡等问题

Deformable Large Kernel Attention (DLKA) 是一种用于视觉任务的注意力机制,旨在提升模型在处理不同尺寸和形状对象时的灵活性和性能。DLKA 的设计灵感源自传统的注意力机制,但通过引入可变形核(deformable kernel)来增强对局部特征的适应能力。

qq_64693987的博客 4042

PHP 文件处理

PHP 文件处理是指使用 PHP 内置函数对服务器上的文件进行读取、写入、创建、删除等操作。PHP 提供了丰富的文件操作函数,适用于处理文本文件、日志、配置文件、CSV 文件等。文件处理在 Web 开发中广泛用于日志记录、数据存储、文件上传解析等场景。PHP 文件处理通过fopen等函数提供强大的文件操作能力,适合日志记录、数据存储等场景。结合表单处理和安全措施(如 XSS 和 CSRF 防护),开发者可以构建安全、可靠的应用。

m0_57545130的博客 726

使用Python实现卷积神经网络(CNN)

卷积神经网络是一种专门用于处理具有网格状拓扑结构数据(如图像、声音)的深度学习模型。CNN的核心组件是卷积层和池化层,它们能够有效地从图像中提取特征并实现空间不变性,使得模型能够对图像中的物体进行识别和分类。我们定义一个简单的卷积神经网络模型,包括卷积层、池化层和全连接层。return x# 创建模型实例我们选择交叉熵损失函数作为分类任务的损失函数,并使用随机梯度下降(SGD)作为优化器。

Echo_Wish 4489

PHP 对文件处理

在Web开发中,文件处理扮演着关键角色,尤其在和方面表现突出。PHP作为一种广泛使用的服务器端脚本语言,提供了强大而灵活的文件处理机制,使得开发人员能够高效地管理服务器上的文件和目录。通过熟练掌握PHP的文件处理功能,开发者可以实现诸如等常见任务,从而显著提高Web应用的功能性和可靠性。这些能力不仅增强了应用的数据管理能力,还为用户提供了一个更丰富、更个性化的网络体验。:用于检查文件或目录是否存在。:用于删除文件。:简化文件写入过程,直接将字符串写入文件。:用于检索匹配特定模式的文件路径。

2401_86544677的博客 1008

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

php 文件处理,PHP 基本文件处理方法

您现在的位置是:网站首页>>PHP>>phpPHP 基本文件处理方法发布时间:2019-01-15 13:25:44作者:wangjian浏览量:446点赞量:0PHP中有很多对于文件处理的内置函数,例如fopen()、fclose()、fread()、fwrite()、unlink()表示对于文件的创建文件,关闭文件,读取文件,写入文件和删除文件的文件处理基本方法一:fo...

weixin_28725949的博客 247

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

「PHP系列」PHP文件处理及文件上传详解

表单设置表单必须使用属性,以便能够正确地发送文件数据。表单中的文件上传字段使用,其中name属性是上传后 PHP 脚本中用于访问文件的键。临时文件当用户上传文件时,PHP 会将文件存储在服务器上的临时目录中。PHP 提供了$_FILES超全局数组,用于访问上传的文件信息,包括临时文件名。文件保存开发者需要指定一个目标路径,将临时文件从临时目录移动到该路径下,以完成上传过程。使用函数将临时文件移动到目标位置。安全性验证上传的文件类型,防止用户上传不允许的文件类型。

日常笔记/总结/系列知识梳理 3634

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

PHP中的文件处理:如何在PHP中写入文件?

在 PHP 中,写入文件对于在磁盘上存储和操作数据至关重要。首先,您需要通过使用 fopen() 等函数指定写入模式来打开文件。打开文件后,可以使用 fwrite() 将内容写入文件,指定文件句柄和要写入的数据。或者,file_put_contents() 通过在一行中写入数据来简化该过程。如果要将数据附加到现有文件,fopen() 可以与“a”模式一起使用。使用 feof() 和 fclose() 等函数处理错误以确保正确的文件关闭和数据完整性至关重要。

新华编程特战队 2031

php处理上传文件代码,php实例:处理上传文件

在php中,处理上传文件信息也是很方便的,以下是一个简单的示例,有助于大家理解php是如何接收与处理上传文件信息的。代码:/*** php 处理上传文件* by www.jbxue.com*/$maxsize=28480;if (!$HTTP_POST_VARS['submit']) {$error=" ";}if (!is_uploaded_file($HTTP_POST_FILES['uplo...

weixin_32459553的博客 82

php 文件保存类,php文件处理类

php文件处理类//-------------------------------------//-------------------------------------class upload {var $dir; //附件存放物理目录var $time; //自定义文件上传时间var $allow_types; //允许上传附件类型va...

weixin_31630721的博客 204

php基本的一些文件处理

php基本的一些文件处理 2015年10月5日 19:14 1、打开文件: fopen()函数 $file=fopen(" " "r") 其中r指打开文件的方式为读; r+ 读写方式打开,将文件指针指向文件头。 w指打开文件的方式为写; a 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建一个新文件。 ...

112

php处理CSV文件

php读取csv文件并处理成以表头为键名的数组 header("Content-type: text/html; charset=GBK");//设置输出编码 ini_set('memory_limit', '1024M');//设置内存 set_time_limit(0); //设置超时 $dir = dirname(__FILE__).'/'; //获取当前绝...

weixin_42124644的博客 1875

PHP中如何处理文件上传?

总体而言,文件上传是一个敏感的操作,需要谨慎处理以确保安全性。以上示例只是一个基本的入门,实际项目中需要更全面的安全性和错误处理。在上述例子中,上传的文件将被移动到名为 “uploads” 的目录中。你需要确保该目录具有写入权限。这表示最大上传文件大小为 10MB,最大 POST 数据大小为 20MB。

周祥平程序专栏 1293

php处理多文件上传,php 多文件上传的处理方法

php教程 多文件上传的处理方法关于多文件上传我们讲过很多了,下面是一个简单的普通form多文件上传类了,需要的朋友可以下载试用一下。function __construct($name, $ext=array(), $rename=true) {if (!empty($name)) {$this->up_name = $name;!empty($ext) && $this-...

weixin_30830643的博客 319
上一篇: 去掉vue 中的代码规范检测(Eslint验证)
下一篇: 书写手机移动页面时的一些坑
webxiaoma
博客等级 码龄10年 65粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值