본문 바로가기
Study/php

PHP 기초 ] 폴더제어

by Answer Choi 2015. 9. 30.
반응형

이번엔 파일이 아닌 폴더에 대한 제어부분 입니다.


string getcwd ( void )


현재 작업중인 폴더를 가져오는 명령어 입니다.


그리고  폴더 이동은


bool chdir ( string $directory )


지정한 폴더내의 파일과 폴더목록은 


array scandir ( string $directory [, int $sorting_order [, resource $context ]] )


반환값은 array 입니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<html>
<link rel="stylesheet" href="/css/master.css" media="screen" title="no title" charset="utf-8">
<body>
  <?php
  $current=getcwd();
  chdir('..');
  $newdir=getcwd();
  $getcur=scandir($current);
  $getnew=scandir($newdir);
  echo "current folder : ".$current.'<br>';
  echo "change folder : ".$newdir.'<br>';
  echo "current folder files : <br>";
  var_dump($getcur);
  echo "change folder files : <br>";
  var_dump($getnew);
?>
</body>
</html>
cs


Line 5 : $current에 현재 폴더가 저장됩니다.


Line 6 ~7 : 폴더를 한단계 위로 이동후 $newdir에 새로운 폴더를 저장합니다.


Line 8  : $getcur에 $current 의 파일과 폴더들을 저장합니다.


Line 9 : $getnew에 $newdir의 파일과 폴더들을 저장합니다.


결과를 출력해보면 아래와 같습니다.



만약 scandir의 두번째 인자에 '1' 을 넣어주면 내림차순으로 정렬됩니다.(기본은 오름차순 정렬)


폴더를 생성할때는


bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )


폴더를 삭제할 때는 


bool rmdir ( string $dirname [, resource $context ] )


1
2
3
4
5
6
7
8
9
10
11
12
13
14
<html>
<link rel="stylesheet" href="/css/master.css" media="screen" title="no title" charset="utf-8">
<body>
  <?php
  $newdir='/var/www/html/test/';
  if(mkdir($newdir,777)){
    echo 'mkdir is success';
  }else{
    echo 'mkdir is fail';
    rmdir($newdir);
  }
?>
</body>
</html>
cs


Line  6 : mkdir(폴더명, 권한)을 사용하여 폴더를 생성하였습니다.


만약 폴더가 있는데 폴더 생성을 하게되면, Line 8의 else로 빠지게 됩니다.


그리고 rmdir(폴더명)을 사용하여 폴더를 삭제하게 하였습니다.


처음 실행을 하게되면 폴더를 생성합니다.




그리고 한번 더 실행을 하게되면 폴더를 삭제합니다.





폴더가 있는지 검사하기위해 


bool is_dir ( string $filename )


를 사용할 수 도 있습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
<link rel="stylesheet" href="/css/master.css" media="screen" title="no title" charset="utf-8">
<body>
  <?php
  $newdir='/var/www/html/test/';
  if(is_dir($newdir)){
    echo $newdir.' is exist'.'<br>';
  }else{
    echo $newdir.' is not exist'.'<br>';
  }
 
  if(mkdir($newdir,777)){
    echo 'mkdir is success';
  }else{
    echo 'mkdir is fail';
    rmdir($newdir);
  }
?>
</body>
</html>
cs



반응형

'Study > php' 카테고리의 다른 글

PHP ] GET, POST  (0) 2015.10.01
PHP 파일 업로드및 파일 정보보기  (0) 2015.10.01
PHP 기초 ] 파일제어 2  (0) 2015.09.30
PHP 기초] 간단한 파일제어  (0) 2015.09.25
PHP 기초 ] include, namespace  (0) 2015.09.24

인기글