PHP 파일 작업
이 글의 내용은 PHP 파일의 작동에 관한 것입니다. 이제 여러분과 공유합니다. 도움이 필요한 친구들이 참고할 수 있습니다.
아주 기본적인 내용이지만, 부끄럽습니다. 아직 해보지 못했습니다. 그래서 이번 기회에 파일 작성 단계를 검토해 보았습니다
- 이 파일을 엽니다. 파일이 없으면 작성하십시오.
- 동시성을 방지하기 위해 파일 잠금 만들기
- 이 데이터를 이 파일에 쓰기
- 잠금을 해제하고 파일 핸들을 닫으세요
- 파일을 읽는 단계
- 이 파일을 열고, 열 수 없으면 종료하세요
- 파일에서 데이터 읽기
- 이 파일 닫기
- 파일 열기 작업
fopen($filename,$mode,$include_path,$context)
열기에 실패하면 false를 반환하고, 열기에 성공하면 리소스 개체를 반환합니다. fopen($filename,$mode,$include_path,$context)
打开失败返回false 打开成功则返回资源对象。
属性名称 | 作用 |
---|---|
$filename | 文件的路径(文件路径的间隔符用‘/’来表示,用’’可能会导致linux不识别) |
$mode | 文件访问的形式(写 |
$include_path | (可选)从指定目录开始寻找文件所在位置 |
$context | 可选。规定文件句柄的环境。Context 是可以修改流的行为的一套选项。 |
注意:
- 当文件的前缀是ftp://即文件服务器时 该函数将会建立一个连接到指定服务器的被动模式。并返回一个指向文件开始位置的指针
- 当文件前缀是http://时,会建立一个到指定服务器的http连接,返回一个纸箱http响应的指针
- 在Linux时执行文件操作要注意服务器的权限配置。
操作符 | 模式名称 | 意义 |
---|---|---|
r | 读模式 | 打开文件从头开始 |
r+ | 读写模式 | 打开文件,从文件头开始读写 |
w | 只写模式 | 打开文件,从文件头开始读写。如文件存在,清空文件内容,如不存在则穿件文件 |
w+ | 读写模式 | 同上 |
x | 谨慎写 | 如果文件存在则返回false |
x+ | 谨慎写 | 以读写方式打开文件,如果文件存在则返回false |
a | 追加 | 在文件末尾进行写操作 |
a+ | 追加 | 在文件末尾进行读写操作 |
写文件操作
A. 需要调用 fopen()
函数
1.`fwrite()` 描述 `int fwrite ( resource $handle , string $string [, int $length ] )` $string 写入的字符 $length 限制写入的长度
B . 不需要调用fopen()
函数
1. file_put_contents() 描述 file_put_contents(file,data,mode,context) 相当于一句话执行 fopen(),fwrite(),fclose()
关闭文件
fclose($fp) 如果成功返回true,反之false
读操作
$fp = fopen('./test.php','a')//以只读方式打开 flock($fp,LOCK_SH);//读操作锁定 while(!feof($fp)) { $order = fgets($fp); echo $order } fclose($fp)//关闭文件 # feof($fp) //检测文件是否读取到文件结束标志 //文件读写的几种操作 /*读取一行内的文字*/ # fgets($fp) //获取文件一行字符 # (更加安全的操作,过滤了php和html标签)fgetss($fp,10,'<a>')//三个参数 1.文件资源 2.限制每次获取的长度(如为0则不限制长度) 3.允许通过的标签 # fgetcsv($fp,0,"/t") 以"/t"为分隔符,分割我数组 /*读取整个文件*/ # (不需要fopen()操作) readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] ) //返回文件字符长度,!!!并且直接把内容输出到浏览器上 # fpassthru( resource $handle ) //返回boolean值 # file ( string $filename [, int $flags = 0 [, resource $context ]] )//把整个文件读入一个数组中,对每一行作为一个元素保存 /*读取一个字符*/ # fgetc() /*读取任意长度字符*/ # fread($fp,$legth)
其他文件函数
file_exists("路径"); //文件是否存在filesize("路径"); //文件大小unlink; //删除文件
文件锁
函数:`fclock($fp,’操作值’);//开启锁
操作值 | 意义 |
---|---|
LOCK_SH | 读操作锁定,可以共享,其他人可以读该文件 |
LOCK_EX | 写操作锁定,互斥锁 |
LOCK_UN | 释放已有的锁 |
LOCK_NB | 防止在请求枷锁时发生柱塞 |
虽说这是很基础的东西,惭愧的是我却对此并不是很了解。所以借此温故了一下
文件进行写操作的步骤
打开这个文件。如果文件不存在,那么创建它。
创建文件锁,防止并发
将这些数据写入这个文件
释放锁,并且关闭文件句柄
文件进行读操作的步骤
打开这个文件,如果不能打开就退出
从文件中读取数据
关闭这个文件
打开文件操作
fopen($filename,$mode,$include_path,$context)
$mode | |
$include_path | |
$context | |
1.`fwrite()` 描述 `int fwrite ( resource $handle , string $string [, int $length ] )` $string 写入的字符 $length 限制写入的长度
fopen()
함수를 호출할 필요가 없습니다🎜1. file_put_contents() 描述 file_put_contents(file,data,mode,context) 相当于一句话执行 fopen(),fwrite(),fclose()
fclose($fp) 如果成功返回true,反之false
$fp = fopen('./test.php','a')//以只读方式打开 flock($fp,LOCK_SH);//读操作锁定 while(!feof($fp)) { $order = fgets($fp); echo $order } fclose($fp)//关闭文件 # feof($fp) //检测文件是否读取到文件结束标志 //文件读写的几种操作 /*读取一行内的文字*/ # fgets($fp) //获取文件一行字符 # (更加安全的操作,过滤了php和html标签)fgetss($fp,10,'<a>')//三个参数 1.文件资源 2.限制每次获取的长度(如为0则不限制长度) 3.允许通过的标签 # fgetcsv($fp,0,"/t") 以"/t"为分隔符,分割我数组 /*读取整个文件*/ # (不需要fopen()操作) readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] ) //返回文件字符长度,!!!并且直接把内容输出到浏览器上 # fpassthru( resource $handle ) //返回boolean值 # file ( string $filename [, int $flags = 0 [, resource $context ]] )//把整个文件读入一个数组中,对每一行作为一个元素保存 /*读取一个字符*/ # fgetc() /*读取任意长度字符*/ # fread($fp,$legth)
file_exists("路径"); //文件是否存在filesize("路径"); //文件大小unlink; //删除文件
fopen ($filename,$mode,$include_path,$context)
🎜 🎜열기에 실패하면 false를 반환하고, 열기에 성공하면 리소스 개체를 반환합니다. 🎜🎜🎜🎜🎜속성 이름🎜🎜Function🎜🎜🎜🎜🎜🎜$filename🎜🎜파일 경로(파일 경로 구분 기호는 '/'로 표시되며, ''를 사용하면 Linux에서 인식하지 못할 수 있음) 🎜🎜🎜🎜 $mode🎜🎜 파일 접근 형태(write🎜🎜🎜🎜$include_path🎜🎜(선택)는 파일 위치🎜🎜🎜🎜$context🎜🎜를 찾기 위해 지정된 디렉터리부터 시작합니다. 의 환경을 지정합니다. 파일 핸들. 컨텍스트는 정상입니다. 스트림의 동작을 수정하는 옵션 세트 🎜🎜🎜🎜.注意:
- 当文件的前缀是ftp://即文件服务器时 该函数将会建立一个连接到指定服务器的被动模式。并返回一个指向文件开始位置的指针
- 当文件前缀是http://时,会建立一个到指定服务器的http连接,返回一个纸箱http响应的指针
- 在Linux时执行文件操作要注意服务器的权限配置。
操作符 | 模式名称 | 意义 |
---|---|---|
r | 读模式 | 打开文件从头开始 |
r+ | 读写模式 | 打开文件,从文件头开始读写 |
w | 只写模式 | 打开文件,从文件头开始读写。如文件存在,清空文件内容,如不存在则穿件文件 |
w+ | 读写模式 | 同上 |
x | 谨慎写 | 如果文件存在则返回false |
x+ | 谨慎写 | 以读写方式打开文件,如果文件存在则返回false |
a | 追加 | 在文件末尾进行写操作 |
a+ | 追加 | 在文件末尾进行读写操作 |
写文件操作
A. 需要调用 fopen()
函数
1.`fwrite()` 描述 `int fwrite ( resource $handle , string $string [, int $length ] )` $string 写入的字符 $length 限制写入的长度
B . 不需要调用fopen()
函数
1. file_put_contents() 描述 file_put_contents(file,data,mode,context) 相当于一句话执行 fopen(),fwrite(),fclose()
关闭文件
fclose($fp) 如果成功返回true,反之false
读操作
$fp = fopen('./test.php','a')//以只读方式打开 flock($fp,LOCK_SH);//读操作锁定 while(!feof($fp)) { $order = fgets($fp); echo $order } fclose($fp)//关闭文件 # feof($fp) //检测文件是否读取到文件结束标志 //文件读写的几种操作 /*读取一行内的文字*/ # fgets($fp) //获取文件一行字符 # (更加安全的操作,过滤了php和html标签)fgetss($fp,10,'<a>')//三个参数 1.文件资源 2.限制每次获取的长度(如为0则不限制长度) 3.允许通过的标签 # fgetcsv($fp,0,"/t") 以"/t"为分隔符,分割我数组 /*读取整个文件*/ # (不需要fopen()操作) readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] ) //返回文件字符长度,!!!并且直接把内容输出到浏览器上 # fpassthru( resource $handle ) //返回boolean值 # file ( string $filename [, int $flags = 0 [, resource $context ]] )//把整个文件读入一个数组中,对每一行作为一个元素保存 /*读取一个字符*/ # fgetc() /*读取任意长度字符*/ # fread($fp,$legth)
其他文件函数
file_exists("路径"); //文件是否存在filesize("路径"); //文件大小unlink; //删除文件
文件锁
函数:`fclock($fp,’操作值’);//开启锁
操作值 | 意义 |
---|---|
LOCK_SH | 读操作锁定,可以共享,其他人可以读该文件 |
LOCK_EX | 写操作锁定,互斥锁 |
LOCK_UN | 释放已有的锁 |
LOCK_NB | 防止在请求枷锁时发生柱塞 |
위 내용은 PHP 파일 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

CakePHP에 로그인하는 것은 매우 쉬운 작업입니다. 한 가지 기능만 사용하면 됩니다. cronjob과 같은 백그라운드 프로세스에 대해 오류, 예외, 사용자 활동, 사용자가 취한 조치를 기록할 수 있습니다. CakePHP에 데이터를 기록하는 것은 쉽습니다. log() 함수는 다음과 같습니다.

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

CakePHP는 오픈 소스 MVC 프레임워크입니다. 이를 통해 애플리케이션 개발, 배포 및 유지 관리가 훨씬 쉬워집니다. CakePHP에는 가장 일반적인 작업의 과부하를 줄이기 위한 여러 라이브러리가 있습니다.
