1. 디렉토리 운영
첫 번째는 opendir(), readdir(), closedir() 디렉터리에서 읽는 함수입니다. 사용하면 파일 핸들이 먼저 열린 다음 반복적으로 나열됩니다.
-
- $base_dir="filelist/";
- $fso=opendir($base_dir);
- echo $base_dir."
";
- while($flist=readdir($fso)){
- echo $flist."
";
- }
- closedir($fso)
- ?> ;
코드 복사
파일 디렉토리 아래의 파일과 디렉토리를 반환하는 프로그램입니다(0개의 파일은 false를 반환합니다).
디렉토리 정보를 알아야 할 경우가 있습니다. dirname($path) 및 basename($path)을 사용하여 경로의 디렉토리 부분과 파일 이름 부분을 각각 반환할 수 있습니다. disk_free_space($path)를 사용할 수 있습니다. 뷰 공간의 남은 공간을 반환합니다.
명령 생성:
mkdir($path,0777): 0777은 창이 아닌 조건에서 umask() 함수를 사용하여 설정할 수 있는 권한 코드입니다.
rmdir($path): $path에 해당 경로가 있는 파일을 삭제합니다.
2. 파일작업
새 파일
먼저 생성하려는 파일이 있는 디렉터리의 권한을 확인하세요. 권장 장치는 777입니다. 그런 다음 새 파일 이름에 절대 경로를 사용하는 것이 좋습니다.
-
- $filename="test.txt";
- $fp=fopen("$filename", "w " ); //파일 포인터를 열고 파일을 생성합니다.
- if ( !is_writable($filename) ){
- die("파일:" .$filename. "쓰기가 불가능합니다. 확인하세요!");
- }
- //fwrite($filename, "$filename에 쓰고 싶은 모든 내용.";
- fclose($fp); //포인터 닫기
코드 복사 파일 읽기
첫 번째는 파일을 읽을 수 있는지(권한 문제) 또는 파일이 존재하는지 확인하는 것입니다. is_reading 함수를 사용하여 정보를 얻을 수 있습니다.: - $file = 'dirlist.php';
- if (is_readable($file) == false) {
- die('파일이 없거나 읽을 수 없습니다.');
- } else {
- echo 'exists';
- }
- ?>
코드 복사
존재를 판별하는 함수 파일에는 file_exists(아래 데모)도 포함되어 있지만 is_readable만큼 포괄적이지는 않습니다. 파일이 있으면
-
- php
- $file = "filelist.php";
- if (file_exists($file) == false) {
- die('파일이 존재하지 않습니다');
- }
- $data = file_get_contents($file);
- echo htmlentities($data) ;
- ?>
코드 복사
그러나 file_get_contents 함수는 지원되지 않습니다. 낮은 버전에서는 먼저 파일에 대한 핸들을 만든 다음 모두 가져오기 포인터로 읽을 수 있습니다.
바이너리 파일을 읽는 또 다른 방법이 있습니다:
$data = implode('', file($file));
파일 쓰기
파일을 읽는 것과 같은 방법으로, 먼저 다음과 같이 쓸 수 있는지 확인하세요:
-
- $file = 'dirlist.php';
- if (is_writable($file) == false) {
- die("글을 쓸 권리가 없습니다!");
- }
- ?>
코드를 복사할 수 있으면 file_put_contents 함수를 사용하여 다음과 같이 작성할 수 있습니다.
-
- $file = 'dirlist.php';
- if (is_writable($file) == false) {
- die('나는 닭털이다, 나는 할 수 없다');
- }
- $data = '나는 비열하다, 나는 원한다';
- file_put_contents ($file, $data);
- ? >
코드 복사
file_put_contents 함수는 php5에 새로 도입된 함수입니다(존재하는지 모르는 경우 function_exists 함수를 사용하세요). 먼저 확인하세요.) 낮은 버전의 PHP는 다음 방법을 사용할 수 없습니다.
-
- $f = fopen($file, 'w');
- fwrite($f, $data);
- fclose($f );
코드 복사
교체하세요.
파일을 작성할 때 때로는 파일을 잠근 후 다음과 같이 작성해야 합니다.
-
- function 캐시_페이지($pageurl,$pagedata){
- if(!$fso=fopen($pageurl,'w')){
- $this->warns('캐시 파일을 열 수 없습니다.');//trigger_error
- return false;
- }
- if(!flock($fso,LOCK_EX)){//LOCK_NB, row 기타 유형 잠금
- $this->warns('캐시 파일을 잠글 수 없습니다.');//trigger_error
- return false;
- }
- if(!fwrite($fso,$pagedata )) {//바이트 스트림 쓰기, 직렬화는 다른 형식 쓰기
- $this->warns('캐시 파일을 쓸 수 없습니다.');//trigger_error
- return false;
- }
- 무리 ($fso,LOCK_UN);//잠금 해제
- fclose($fso);
- return true;
- }
코드 복사
파일 복사, 삭제
PHP에서 파일을 삭제하는 것은 매우 쉽습니다. 연결 해제 기능을 사용하면 됩니다.
-
- $file = 'dirlist.php';
- $result = @unlink($file);
- if ($result == false) {
- echo '모기를 쫓아냈습니다';
- } else {
- echo '쫓을 수 없습니다';
- }
- ?>
-
코드를 복사하세요
.
파일 복사:
-
- $file = 'yang.txt';
- $newfile = 'ji.txt'; 이 파일 폴더는 쓰기 가능해야 합니다
- if (file_exists($file) == false) {
- die ('샘플이 온라인이 아니어서 복사할 수 없습니다');
- }
- $result = copy($file, $newfile);
- if ($result == false) {
- echo '메모리 복사 확인';
- }
- ?>
코드 복사
rename() 함수를 사용하여 폴더 이름을 바꿀 수 있습니다. 이러한 함수를 결합하면 다른 작업을 수행할 수 있습니다.
파일 속성 가져오기
몇 가지 일반적인 기능에 대해 이야기하겠습니다.
마지막으로 수정된 시간을 가져옵니다.
-
- $file = 'test.txt';
- echo date('r', filemtime($file)) ;
- ?>
-
코드 복사
는 캐싱 기술에 일반적으로 사용되는 Unix 타임스탬프를 반환합니다.
마지막으로 액세스한 시간을 가져오는 fileatime() 및 filectime()이 관련됩니다. inode의 파일 권한, 소유자, 모든 그룹 또는 기타 메타데이터가 업데이트되면 fileowner() 함수는 파일 소유자를 반환합니다.
$owner = posix_getpwuid(fileowner($file));
(비 윈도우 시스템), ileperms()는 파일 권한을 얻습니다.
-
- $file = 'dirlist.php';
- $perms = substr(sprintf('%o', fileperms ($file)), -4);
- echo $perms;
- ?>
코드 복사
filesize()는 파일 크기를 반환합니다. 바이트 수:
-
-
// 출력은 유사합니다: somefile.txt: 1024바이트
-
$filename = 'somefile.txt';
- echo $filename . ': ' . filesize($filename) . ' 바이트';
- ?>
-
코드 복사
파일의 모든 정보를 얻으려면 배열을 반환하는 stat() 함수가 있습니다.
-
- $file = 'dirlist.php';
- $perms = stat($file);
- var_dump($perms);
- ? >
코드 복사
관심이 있을 만한 기사:
php 파일 작업 클래스 코드 예시
PHP 파일 작업의 작은 예
텍스트 파일 작업을 위한 멋진 PHP 클래스
PHP 파일 조작 방법 Q&A
PHP에서의 디렉터리 및 파일 동작에 대한 자세한 설명
|