목차

~~Title:PHP 파일 디렉토리~~

PHP 파일 디렉토리

파일 제어

파일 열기

$fp = fopen( “path”, “AccessType” )

파일 패스에는 ‘/’ 를 사용하는게 호환성이 확보된다. ‘\’는 윈도우즈에서만 된다고 하네.

$_SERVER[ ‘DOCUMENT_ROOT’ ]

프로그램이 실행되고 있는 경로. 책에서는 간단히 쓰기 위해서 변수에 값을 넣어두고 사용했다.

$DOCUMENT_ROOT = $_SERVER[ ‘DOCUMENT_ROOT’ ]

FTP, HTTP 파일 열기

allow_url_fopen 옵션이 설정되어 있다면 원격 파일도 읽고 쓸 수 있다.

fopen() 열기, 원격지 파일도 열기 가능.
<?php
$handle = fopen("c:\\folder\\resource.txt", "r");
?>
fclose() 닫기
fgets() 한줄 읽기
fgetss() php html tag 제거. 태그를 남기려면 allowable_tags 살리기
fwrite( fp, write ) 쓰기
fputs( fp, string ) 한줄 쓰기
file_put_contents
( filename, data, flag, RC )
뭐드라??
flock( $fp, LOCK_EX ) 파일 잠금, 잠금해제
flock( $fp, LOCK_UN )
fgetcsv
( fp, length, delimeter, enclosure )
읽어서 배열로 저장
readfile() 한번에 읽기
fpassthru() fopen()으로 연 파일포인터의 위치부터 끝까지 읽기
file() 읽어서 배열에 저장
file_get_contents() 읽어서 모두 문자열로 저장
<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>
fread() 임의로 원하는 만큼 읽어들이기
file_exists() 파일이 있는지 확인하기
filesize() 파일의 크기를 읽어오기
unlink() 파일 삭제
rewind() 파일 포인터 위치 변경. 처음으로 이동 / 다른 위치로 이동 / 현재 위치값 리턴
fseek()
ftell()

디렉토리

코드 조각

파일,폴더 읽기

// $start_dir_ (폴더명, (예, '.'))에서 폴더와 html 파일을 읽어서 배열로 저장한다.
// 저장 형식 (리턴할 배열의 저장 형식)
// > array( array('dir', '폴더 이름'), array('file', '파일 이름') )
// > 'dir' 디렉토리라는 마크.
// > 'file' 파일이라는 마킹. (*.{html,htm,php}) 파일만 저장.
function get_dir_from($start_dir_)
{
    $ar_for_sav_ = [];
    $_idx = 0;
    if ($handle = opendir($start_dir_))
    {
        while (false !== ($entry = readdir($handle)))
        {
            if (is_dir($entry) && ($entry != '.' && $entry != '..'))
            {
                $ar_for_sav_[$_idx] = ['dir', $entry];
                //print($ar_for_sav_[$_idx] . '</br>');
                $_idx++;
            }
            elseif (is_file($entry))
            {
                // 파일 확장자 얻기
                $path_info = pathinfo($entry);
                $ar_ext = ['html', 'htm', 'php'];
                // 확장자가 $ar_ext 에 포함 되어 있다면
                if (in_array($path_info['extension'], $ar_ext))
                {
                    $ar_for_sav_[$_idx] = ['file', $entry];
                    //print_r($ar_for_sav_[$_idx]);
                    $_idx++;
                }
            }
        }
        closedir($handle);
    }
    return $ar_for_sav_;
}