PHP에는 파일을 여는 데 도움이 될 뿐만 아니라 디렉터리 내용 표시, 파일 이동 등에 도움이 되는 많은 파일 시스템 관련 기능이 있습니다. 많은 사람들이 PHP를 사용하여 웹 기반 파일 관리자를 작성하기도 했습니다.
먼저 파일 경로에 대해 알려드릴 필요가 있습니다. Windows에서는 파일 경로에 슬래시 "/" 또는 백슬래시 ""를 사용할 수 있지만 다른 운영 체제에서는 "/"만 사용할 수 있습니다. 호환성을 위해 다음 예에서는 "/" 표기법을 사용합니다.
아래의 간단한 스크립트는 기본 디렉토리 목록을 표시합니다. 주석은 코드에 있으며 각 단계를 설명합니다.
/* 변수 $dir_name*/에 액세스하려는 디렉터리의 전체 경로를 제공합니다.
$dir_name = "/home/me/";
/* 핸들을 생성하고 주어진 디렉터리의 결과를 엽니다. */
$dir = opendir($dir_name)
/* 목록 요소(파일)가 있는 위치에 텍스트를 추가하기 시작합니다. name)이 배치됩니다 */
$file_list = "
"
/* 열린 디렉토리의 모든 요소를 읽으려면 while 문을 사용하십시오. 파일 이름이 "."도 ".."도 아닌 경우 목록에 파일 이름을 출력합니다*/
while ($file_name = readdir($dir)) {
if (($file_name != "." ) && ($file_name != "..")) {
$file_list .= "- $file_name"
}
}
/* 최종 목록 */
$file_list .= "
";
/* 열린 디렉토리 핸들을 닫고 PHP 코드 세그먼트를 종료합니다.*/
closedir($dir)?> >
디렉토리 목록
> 파일: echo "$dir_name";
축하합니다. 이제 디렉토리 목록이 생겼습니다. 디렉토리나 파일의 내용을 읽으려면(곧 보게 될 것임) 사용자가 위치한 PHP 실행 플랫폼에 최소한 디렉토리나 파일에 대한 읽기 권한이 있어야 한다는 점을 기억해야 합니다.
다음 예에서는 파일을 복사하는 방법을 보여줍니다.
/* 복사할 파일의 경로를 $original 변수에 넣고, 복사할 대상 경로를 $copied 변수에 넣습니다. */
$original = "/home /me/mydatabasedump";
$copied = "/archive/mydatabasedumo_1010";
/* 소스 파일을 대상에 복사하거나 종료하려면 copy() 함수를 사용하세요. 오류 메시지 출력*/
@copy( $original, $copied) 또는 die("파일을 복사할 수 없습니다.")
?> 샘플 스크립트는 뒤로가기 위한 첫 번째 단계입니다. 시스템을 올립니다. 스크립트가 실행되면 먼저 보안상의 이유로 데이터베이스를 다른 위치에 복사합니다. crontab을 수정하면 사용자 개입 없이 선택한 시간에 이 파일을 실행할 수 있습니다.
Lynx가 이미 시스템에 있다고 가정하면 crontab 항목을 만들어 Lynx를 실행하고 파일에 액세스할 수 있습니다. 파일에 액세스하면 스크립트가 실행되고 파일 복사본이 생성됩니다. 다음 예에서는 오전 5시에 스크립트를 실행한 다음 Lynx를 종료합니다:
0 5 * * * [username] lynx -dump http://localhost/copyfile.php 1>/dev/null 2>&1
CGI 버전의 PHP를 실행하는 경우 Lynx 부분을 건너뛰고 바이너리를 참조할 수 있습니다:
0 5 * * * [username] php /path/to/copyfile.php 1>/dev/null 2> &1
이상에서는 Linux 서버 유지보수 내용을 포함하여 PHP를 이용한 Linux 서버 유지보수 파일 코드를 소개하였습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.