<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 여기의 코드는 기사와 관련이 없습니다.,자리 표시 자</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"기사가 시작될 예정입니다..."</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-comment"># 통과하는 방법 lstat 기능에 대한 파일을 읽을 권한、크기 및 타임 스탬프와 같은 속성?</span></span><span>
매일 PHP 개발 중,우리는 종종 파일에 대한 관련 정보를 얻어야합니다,예를 들어:파일 권한、파일 크기、마지막 방문 시간、마지막 수정 시간 등。PHP 매우 강력한 기능을 제공합니다 —— **</span><span><span class="hljs-title function_ invoke__">lstat</span></span><span>()**,이러한 속성을 빠르게 얻는 데 도움이 될 수 있습니다。
</span><span><span class="hljs-comment">## lstat() 기능 소개</span></span><span>
`</span><span><span class="hljs-title function_ invoke__">lstat</span></span><span>()` 그리고 `</span><span><span class="hljs-title function_ invoke__">stat</span></span><span>()` 비슷한,모두 파일 정보를 얻는 데 사용됩니다,차이점은:
- **</span><span><span class="hljs-title function_ invoke__">stat</span></span><span>()**:상징적 링크를 따릅니다,대상 파일의 정보를 반환하십시오。
- **</span><span><span class="hljs-title function_ invoke__">lstat</span></span><span>()**:不상징적 링크를 따릅니다,대신, 상징적 링크 자체의 정보를 반환하십시오。
소프트 링크를 다룰 때 특히 중요합니다。
기능 프로토 타입은 다음과 같습니다:
```php
</span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-title function_ invoke__">lstat</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$filename</span></span><span>)
</span></span>
$ filename : 정보가 필요한 파일 경로.
반환 값 : 파일 정보가 포함 된 배열이 실패하면 False를 반환합니다.
lstat () 에 의해 반환 된 배열에는 파일의 다른 속성에 해당하는 여러 개의 위시와 키 이름이 포함되어 있습니다. 일반적인 것은 다음과 같습니다.
DEV : 장치 번호
Ino : inode 노드 번호
모드 : 파일 유형 및 권한 ( decoct () 또는 비트 조작을 통해 해석해야합니다)
Nlink : 하드 링크 수
UID : 사용자 ID
GID : 그룹 ID
크기 : 파일 크기 (바이트)
Atime : 마지막 액세스 시간 (Unix Timestamp)
Mtime : 마지막 수정 시간 (Unix Timestamp)
C 타임 : inode 수정 시간 (Unix Timestamp)
다음 예제는 파일의 권한, 크기, 타임 스탬프 및 기타 속성을 읽는 방법을 보여줍니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-string">"example.txt"</span></span><span>;
</span><span><span class="hljs-comment">// 파일 속성을 얻으십시오</span></span><span>
</span><span><span class="hljs-variable">$fileInfo</span></span><span> = </span><span><span class="hljs-title function_ invoke__">lstat</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$fileInfo</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"파일 크기: "</span></span><span> . </span><span><span class="hljs-variable">$fileInfo</span></span><span>[</span><span><span class="hljs-string">'size'</span></span><span>] . </span><span><span class="hljs-string">" 바이트\n"</span></span><span>;
</span><span><span class="hljs-comment">// 转换파일 권한为八进制表示</span></span><span>
</span><span><span class="hljs-variable">$permissions</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-title function_ invoke__">sprintf</span></span><span>(</span><span><span class="hljs-string">'%o'</span></span><span>, </span><span><span class="hljs-variable">$fileInfo</span></span><span>[</span><span><span class="hljs-string">'mode'</span></span><span>]), -</span><span><span class="hljs-number">4</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"파일 권한: "</span></span><span> . </span><span><span class="hljs-variable">$permissions</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-comment">// 출력 타임 스탬프 정보</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"마지막 방문 시간: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">"Y-m-d H:i:s"</span></span><span>, </span><span><span class="hljs-variable">$fileInfo</span></span><span>[</span><span><span class="hljs-string">'atime'</span></span><span>]) . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"마지막 수정 시간: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">"Y-m-d H:i:s"</span></span><span>, </span><span><span class="hljs-variable">$fileInfo</span></span><span>[</span><span><span class="hljs-string">'mtime'</span></span><span>]) . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"inode 수정 시간: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">"Y-m-d H:i:s"</span></span><span>, </span><span><span class="hljs-variable">$fileInfo</span></span><span>[</span><span><span class="hljs-string">'ctime'</span></span><span>]) . </span><span><span class="hljs-string">"\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"파일 정보를 얻을 수 없습니다。\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
파일 정보를 가져와야 할 때는 lstat () 및 stat ()를 모두 사용할 수 있습니다.
파일 경로가 상징적 링크 일 수 있고 링크 자체의 속성이라면 lstat ()를 사용해야합니다.
LSTAT () 를 통해 파일 관리, 크기, 타임 스탬프 및 기타 속성을 쉽게 얻을 수있어 파일 관리, 로그 분석 및 기타 시나리오에 대한 편의성을 제공합니다.
<span></span>