아래 편집기는 PHP의 일반적인 파일 기능과 디렉토리 기능을 기반으로 한 기사를 제공합니다. 편집자님이 꽤 좋다고 생각하셔서 지금 공유하고 모두에게 참고용으로 드리도록 하겠습니다. 에디터를 따라가며 함께 살펴볼까요
1. 일반적으로 사용되는 파일 함수 라이브러리
1.basename() -- 경로의 파일 이름 부분을 반환합니다.
string basename ( string $path [, string $suffix ] ) //给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名。
매개변수: path 경로입니다. Windows에서는 슬래시(/)와 백슬래시()를 모두 디렉터리 구분 기호로 사용할 수 있습니다. 다른 환경에서는 슬래시(/)
suffix 파일 이름이 suffix로 끝나는 경우 이 부분도 제거됩니다.
반환값: 경로의 기본 파일명을 반환합니다.
$path = 'd:/test/test.txt'; echo basename($path); echo "<br>"; echo basename($path,'.txt');
2.dirname() -- 경로
string dirname ( string $path ) //给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名。
path, 경로. Windows에서는 슬래시(/)와 백슬래시()를 모두 디렉터리 구분 기호로 사용할 수 있습니다. 다른 경우에는 슬래시(/)입니다.
반환 값: 경로의 상위 디렉터리를 반환합니다. 경로에 슬래시가 없으면 현재 디렉터리를 나타내는 점('.')이 반환됩니다. 그렇지 않은 경우 반환되는 문자열은 경로 끝(마지막 슬래시 및 다음 부분)에서 /comComponent를 제거한 후의 문자열입니다.
$path = 'd:/test/test.txt'; echo basename($path); echo "<br>"; echo basename($path,'.txt'); echo "
"; echo dirname($path);
3.pathinfo(); --파일 경로 정보 반환
mixed pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] ) //pathinfo() 返回一个关联数组包含有 path 的信息。返回关联数组还是字符串取决于 options。
path 파싱할 경로. options 지정된 경우 PATHINFO_DIRNAME, PATHINFO_BASENAME 및 PATHINFO_EXTENSION 또는 PATHINFO_FILENAME이 포함된 요소가 반환됩니다. 옵션을 지정하지 않으면 기본값은 모든 단위를 반환하는 것입니다.
반환 값:
옵션이 전달되지 않으면 dirname, 기본 이름, 확장자(있는 경우), 파일 이름 단위가 포함된 배열이 반환됩니다.
$path = 'd:/test/test.txt'; var_dump(pathinfo($path));
4.filetype();--파일 형식 가져오기
string filetype ( string $filename ) //返回文件的类型。
매개변수:
filename 파일 경로입니다. 반환 값:
파일 형식을 반환합니다. 가능한 값은 fifo, char, dir, block, link, file 및 알 수 없음입니다. 오류가 발생하면 FALSE를 반환합니다. filetype()은 stat 호출이 실패하거나 파일 유형을 알 수 없는 경우에도 E_NOTICE 메시지를 생성합니다.
$path = 'd:/test/test.txt'; echo filetype($path); //结果file
5, fstat() 및 stat();
⑴, fstat()-열린 파일 포인터를 통해 파일 정보 가져오기
array fstat ( resource $handle ) //获取由文件指针 handle 所打开文件的统计信息。本函数和 stat() 函数相似,除了它是作用于已打开的文件指针而不是文件名。
매개변수:
일반적으로 fopen()에 의해 생성되는 리소스인 파일 시스템 포인터를 처리합니다. 반환값:
파일의 통계 정보가 포함된 배열을 반환합니다. 배열 형식은 매뉴얼의 stat() 페이지에 자세히 설명되어 있습니다. ⑵, stat() -- 파일 정보 제공
array stat ( string $filename ) //获取由 filename 指定的文件的统计信息。如果 filename 是符号连接,则统计信息是关于被连接文件本身的,而不是符号连接。 //lstat() 和 stat() 相同,只除了它会返回符号连接的状态。매개변수: filename 파일의 경로
$path = 'd:/test/test.txt'; $fp = fopen("d:/test/test.txt","r"); $fstat = fstat($fp); fclose($fp); var_dump($fstat);
6, filesize();
int filesize ( string $filename ) //取得指定文件的大小。
매개변수:
filename 파일의 경로입니다. 반환값:
파일 크기의 바이트 수를 반환합니다. 오류가 발생하면 FALSE를 반환하고 E_WARNING 수준 오류를 생성합니다.
<?php // 输出类似:test.txt: bytes $filename = 'd:/test/test.txt'; echo $filename . ': ' . filesize($filename) . ' bytes'; ?> //结果:d:/test/test.txt: 12 bytes
7, disk_free_space() --
float disk_free_space ( string $directory ) //给出一个包含有一个目录的字符串,本函数将根据相应的文件系统或磁盘分区返回可用的字节数。
디렉토리의 여유 공간을 반환합니다. 매개변수:
디렉터리 파일 시스템 디렉터리 또는 디스크 파티션.
header("Content-Type:Text/html;charset=utf8"); $path = 'd:/test/test.txt'; $df = disk_free_space("d:/"); echo $df."字节";
8, disk_total_space(); --디렉토리의 총 디스크 크기를 반환합니다
float disk_total_space ( string $directory ) //给出一个包含有一个目录的字符串,本函数将根据相应的文件系统或磁盘分区返回所有的字节数。 【译者注】本函数返回的是该目录所在的磁盘分区的总大小,因此在给出同一个磁盘分区的不同目录作为参数所得到的结果完全相同。 在 Unix 和 Windows 200x/XP 中都支持将一个磁盘分区加载为一个子目录,这时正确使用本函数就很有意义。
매개변수:
directory 파일 시스템의 디렉토리 또는 디스크 파티션 9. fopen($filepath,$mode)
resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] ) //fopen() 将 filename 指定的名字资源绑定到一个流上
参数:filename 如果 filename 是 "scheme://..." 的格式,则被当成一个 URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式。如果该协议尚未注册封装协议,PHP 将发出一条消息来帮助检查脚本中潜在的问题并将 filename 当成一个普通的文件名继续执行下去。
<span style="color:#000000;font-size:16px;font-family:NSimsun">mode</span> |
说明 |
---|---|
'r' | 只读方式打开,将文件指针指向文件头。 |
'r+' | 读写方式打开,将文件指针指向文件头。 |
'w' | 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 |
'w+' | 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 |
'a' | 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 |
'a+' | 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 |
'x' | 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 <span style="font-family:NSimsun">FALSE</span> ,并生成一条 <span style="font-family:NSimsun">E_WARNING</span> 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。
|
'x+' | 创建并以读写方式打开,其他的行为和 'x' 一样。 |
<?php $handle = fopen("/home/rasmus/file.txt", "r"); $handle = fopen("/home/rasmus/file.gif", "wb"); $handle = fopen("http://www.example.com/", "r"); $handle = fopen("ftp://user:password@example.com/somefile.txt", "w"); ?>
10、file();--把整个文件读入一个数组中
array file ( string $filename [, int $flags = 0 [, resource $context ]] ) //把整个文件读入一个数组中。
参数:filename 文件的路径。
flags 可选参数 flags 可以是以下一个或多个常量:
1、FILE_USE_INCLUDE_PATH 在 include_path 中查找文件。
2、FILE_IGNORE_NEW_LINES 在数组每个元素的末尾不要添加换行符
3、FILE_SKIP_EMPTY_LINES 跳过空行。
context 一个上下文资源,创建stream_context_create()函数。
<?php // 将一个文件读入数组。本例中通过 HTTP 从 URL 中取得 HTML 源文件。 $lines = file('http://www.example.com/'); // 在数组中循环,显示 HTML 的源文件并加上行号。 foreach ($lines as $line_num => $line) { echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n"; } // 另一个例子将 web 页面读入字符串。参见 file_get_contents()。 $html = implode('', file('http://www.example.com/')); // 从 PHP 5 开始可以使用可选标记参数 $trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); ?>
11、file_get_contents();-- 将整个文件读入一个字符串
string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $maxlen ]]]] ) //和 file() 一样,只除了 file_get_contents() 把文件读入一个字符串。将在参数 offset 所指定的位置开始读取长度为 maxlen 的内容。如果失败,file_get_contents() 将返回 FALSE。
参数:filename: 要读取的文件的名称。
use_include_path:As of PHP 5 the FILE_USE_INCLUDE_PATH can be used to trigger include path search.
context:A valid context resource created with stream_context_create(). 如果你不需要自定义 context,可以用 NULL 来忽略。
header("Content-Type:Text/html;charset=utf8"); // <= PHP 5 $file = file_get_contents('d:/test/test.txt', true); echo $file.'<br>'; // > PHP 5 $file = file_get_contents('d:/test/test.txt', FILE_USE_INCLUDE_PATH); echo $file; //结果 //this is test //this is test
12、fgets();--从文件指针中读取一行
string fgets ( resource $handle [, int $length ] ) //从文件指针中读取一行。
参数:handle:文件指针必须是有效的,必须指向由 fopen() 或 fsockopen() 成功打开的文件(并还未由 fclose() 关闭)。
length:从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定length,则默认为 1K,或者说 1024 字节。
13、ftell();-- 返回文件指针读/写的位置
int ftell ( resource $handle ) //返回由 handle 指定的文件指针的位置,也就是文件流中的偏移量。
参数:handle : 文件指针必须是有效的,且必须指向一个通过 fopen() 或 popen() 成功打开的文件。在附加模式(加参数 "a" 打开文件)中 ftell() 会返回未定义错误。
header("Content-Type:Text/html;charset=utf8"); // opens a file and read some data $fp = fopen("d:/test/test.txt", "r"); $data = fgets($fp, 4); // where are we ? echo ftell($fp); // 结果3 fclose($fp);
14、fseek();--在文件指针中定位
int fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] ) //在与 handle 关联的文件中设定文件指针位置。 新位置从文件头开始以字节数度量,是以 whence 指定的位置加上 offset。
参数 :handle:文件系统指针,是典型地由 fopen() 创建的 resource(资源)。
offset:偏移量。要移动到文件尾之前的位置,需要给 offset 传递一个负值,并设置 whence 为 SEEK_END。
whence values are:
1、SEEK_SET - 设定位置等于 offset 字节。
2、SEEK_CUR - 设定位置为当前位置加上 offset。
3、SEEK_END - 设定位置为文件尾加上 offset。
header("Content-Type:Text/html;charset=utf8"); $fp = fopen('d:\test\test.txt', 'r'); // read some data $data = fgets($fp, 4096); // move back to the beginning of the file // same as rewind($fp); fseek($fp, 0);
15、flock();--轻便的咨询文件锁定
bool flock ( resource $handle , int $operation [, int &$wouldblock ] ) //flock() 允许执行一个简单的可以在任何平台中使用的读取/写入模型(包括大部分的 Unix 派生版和甚至是 Windows)。
参数:handle 文件系统指针,是典型地由 fopen() 创建的 resource(资源)。
operation 可以是以下值之一:
1、LOCK_SH取得共享锁定(读取的程序)。
2、LOCK_EX 取得独占锁定(写入的程序。
3、LOCK_UN 释放锁定(无论共享或独占)。
如果不希望 flock() 在锁定时堵塞,则是 LOCK_NB(Windows 上还不支持)。
wouldblock:如果锁定会堵塞的话(EWOULDBLOCK 错误码情况下),可选的第三个参数会被设置为 TRUE。(Windows 上不支持)
if (flock($fp, LOCK_EX)) { // 进行排它型锁定 ftruncate($fp, 0); // truncate file fwrite($fp, "Write something here\n"); fflush($fp); // flush output before releasing the lock flock($fp, LOCK_UN); // 释放锁定 } else { echo "Couldn't get the lock!"; } fclose($fp);
16、is_readable --判断给定文件名是否可读
bool is_readable ( string $filename ) //判断给定文件名是否存在并且可读。
参数:filename:文件的路径。
返回值:如果由 filename 指定的文件或目录存在并且可读则返回 TRUE,否则返回 FALSE。
$filename = 'd:\test\test.txt'; if (is_readable($filename)) { echo 'The file is readable'; } else { echo 'The file is not readable'; } //The file is readable
17、is_writeable -- 判断给定的文件名是否可写
bool is_writable ( string $filename ) //如果文件存在并且可写则返回 TRUE。filename 参数可以是一个允许进行是否可写检查的目录名。
参数:filename 要检查的文件名称。
$filename = 'd:\test\test.txt'; if (is_writeable($filename)) { echo 'The file is writeable'; } else { echo 'The file is not writeable'; } //The file is writeable
18、chown(); -- 改变文件的所有者
bool chown ( string $filename , mixed $user ) //尝试将文件 filename 的所有者改成用户 user(由用户名或用户 ID 指定)。 只有超级用户可以改变文件的所有者。
参数:filename:文件路径。
user:用户名或数字。
二、目录函数
1、is_dir();--判断给定文件名是否是一个目录
bool is_dir ( string $filename ) //判断给定文件名是否是一个目录。
参数:filename:如果文件名存在并且为目录则返回 TRUE。如果 filename 是一个相对路径,则按照当前工作目录检查其相对路径。
$filename = 'd:\test\test.txt'; var_dump(is_dir('$filename')); //bool(false) var_dump(is_dir('d:\test')); //bool(true)
2、mkdir();--新建目录
bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )//尝试新建一个由 pathname 指定的目录。
参数:pathname:目录的路径。
mode:默认的 mode 是 0777,意味着最大可能的访问权。有关 mode 的更多信息请阅读 chmod() 页面。
mkdir("d:/test/test1", 0700);
3、opendir();--打开目录句柄
resource opendir ( string $path [, resource $context ] ) //打开一个目录句柄,可用于之后的 closedir(),readdir() 和 rewinddir() 调用中。
参数:path 要打开的目录路径
context 参数的说明见手册中的 Streams API 一章。
4、readdir();--从目录句柄中读取条目
string readdir ([ resource $dir_handle ] ) //返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回。
参数:dir_handle 目录句柄的 resource,之前由 opendir() 打开
header("Content-Type:Text/html;charset=utf8"); if ($handle = opendir('d:/test')) { echo "Directory handle: $handle\n"; echo "Files:\n"; /* 这是正确地遍历目录方法 */ while (false !== ($file = readdir($handle))) { echo "$file\n"; } /* 这是错误地遍历目录的方法 while ($file = readdir($handle)) { echo "$file\n"; } */ closedir($handle); }
위 내용은 PHP 파일 기능 및 디렉토리 기능 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

PHP는 현대 웹 개발, 특히 컨텐츠 관리 및 전자 상거래 플랫폼에서 중요합니다. 1) PHP는 Laravel 및 Symfony와 같은 풍부한 생태계와 강력한 프레임 워크 지원을 가지고 있습니다. 2) Opcache 및 Nginx를 통해 성능 최적화를 달성 할 수 있습니다. 3) PHP8.0은 성능을 향상시키기 위해 JIT 컴파일러를 소개합니다. 4) 클라우드 네이티브 애플리케이션은 Docker 및 Kubernetes를 통해 배포되어 유연성과 확장 성을 향상시킵니다.

PHP는 특히 빠른 개발 및 동적 컨텐츠를 처리하는 데 웹 개발에 적합하지만 데이터 과학 및 엔터프라이즈 수준의 애플리케이션에는 적합하지 않습니다. Python과 비교할 때 PHP는 웹 개발에 더 많은 장점이 있지만 데이터 과학 분야에서는 Python만큼 좋지 않습니다. Java와 비교할 때 PHP는 엔터프라이즈 레벨 애플리케이션에서 더 나빠지지만 웹 개발에서는 더 유연합니다. JavaScript와 비교할 때 PHP는 백엔드 개발에서 더 간결하지만 프론트 엔드 개발에서는 JavaScript만큼 좋지 않습니다.

PHP와 Python은 각각 고유 한 장점이 있으며 다양한 시나리오에 적합합니다. 1.PHP는 웹 개발에 적합하며 내장 웹 서버 및 풍부한 기능 라이브러리를 제공합니다. 2. Python은 간결한 구문과 강력한 표준 라이브러리가있는 데이터 과학 및 기계 학습에 적합합니다. 선택할 때 프로젝트 요구 사항에 따라 결정해야합니다.

PHP는 서버 측에서 널리 사용되는 스크립팅 언어이며 특히 웹 개발에 적합합니다. 1.PHP는 HTML을 포함하고 HTTP 요청 및 응답을 처리 할 수 있으며 다양한 데이터베이스를 지원할 수 있습니다. 2.PHP는 강력한 커뮤니티 지원 및 오픈 소스 리소스를 통해 동적 웹 컨텐츠, 프로세스 양식 데이터, 액세스 데이터베이스 등을 생성하는 데 사용됩니다. 3. PHP는 해석 된 언어이며, 실행 프로세스에는 어휘 분석, 문법 분석, 편집 및 실행이 포함됩니다. 4. PHP는 사용자 등록 시스템과 같은 고급 응용 프로그램을 위해 MySQL과 결합 할 수 있습니다. 5. PHP를 디버깅 할 때 error_reporting () 및 var_dump ()와 같은 함수를 사용할 수 있습니다. 6. 캐싱 메커니즘을 사용하여 PHP 코드를 최적화하고 데이터베이스 쿼리를 최적화하며 내장 기능을 사용하십시오. 7

PHP가 많은 웹 사이트에서 선호되는 기술 스택 인 이유에는 사용 편의성, 강력한 커뮤니티 지원 및 광범위한 사용이 포함됩니다. 1) 배우고 사용하기 쉽고 초보자에게 적합합니다. 2) 거대한 개발자 커뮤니티와 풍부한 자원이 있습니다. 3) WordPress, Drupal 및 기타 플랫폼에서 널리 사용됩니다. 4) 웹 서버와 밀접하게 통합하여 개발 배포를 단순화합니다.

PHP는 현대적인 프로그래밍, 특히 웹 개발 분야에서 강력하고 널리 사용되는 도구로 남아 있습니다. 1) PHP는 사용하기 쉽고 데이터베이스와 완벽하게 통합되며 많은 개발자에게 가장 먼저 선택됩니다. 2) 동적 컨텐츠 생성 및 객체 지향 프로그래밍을 지원하여 웹 사이트를 신속하게 작성하고 유지 관리하는 데 적합합니다. 3) 데이터베이스 쿼리를 캐싱하고 최적화함으로써 PHP의 성능을 향상시킬 수 있으며, 광범위한 커뮤니티와 풍부한 생태계는 오늘날의 기술 스택에 여전히 중요합니다.

PHP에서는 약한 참조가 약한 회의 클래스를 통해 구현되며 쓰레기 수집가가 물체를 되 찾는 것을 방해하지 않습니다. 약한 참조는 캐싱 시스템 및 이벤트 리스너와 같은 시나리오에 적합합니다. 물체의 생존을 보장 할 수 없으며 쓰레기 수집이 지연 될 수 있음에 주목해야합니다.

\ _ \ _ 호출 메소드를 사용하면 객체를 함수처럼 호출 할 수 있습니다. 1. 객체를 호출 할 수 있도록 메소드를 호출하는 \ _ \ _ 정의하십시오. 2. $ obj (...) 구문을 사용할 때 PHP는 \ _ \ _ invoke 메소드를 실행합니다. 3. 로깅 및 계산기, 코드 유연성 및 가독성 향상과 같은 시나리오에 적합합니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

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

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

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