ftp기능은 파일관련 함수와 비슷하지만 큰 차이가 있는데, 사용에 제한이 없다는 점입니다. 주의할 점은 어떤 작업 요청할 때 항상 로그인정보 작성이 필요하다는 것입니다.

<?php
 // ftp는 상대경로, 절대경로가 허용되지 않으며,
 // 보통 public_html, www, html 로 시작합니다.

 // 호스트 정보
 $ftp_server = "호스트 혹은 ip주소"; 
 $ftp_user_name = "접속 아이디"; 
 $ftp_user_pass = "접속 패스워드"; 

 // 호스트 접속
 $conn_id = ftp_connect($ftp_server); 

 // 호스트 로그인 
 $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 


 // 퍼미션 변경할 파일
 $file = 'public_html/test.php';

 // 해당파일을 0644로 변경합니다.
 if (ftp_chmod($conn_id, 0644, $file) !== false) {
      echo "$file chmoded successfully to 644\n";
 } else {
      echo "could not chmod $file\n";
 }

 ftp_close($conn_id);
 ?> 

다음 함수로 변경이 가능하나 보안상 자주 사용되는 것을 권하지 않습니다.

<?php
 // 호스트 정보
 $ftp_server = "호스트 혹은 ip주소"; 
 $ftp_user_name = "접속 아이디"; 
 $ftp_user_pass = "접속 패스워드"; 

 // 호스트 접속
 $conn_id = ftp_connect($ftp_server); 

 // 호스트 로그인 
 $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

 // 퍼미션 변경할 파일
 $file = 'public_html/test.php';

 if (ftp_site($conn_id, 'CHMOD 0600 ' . $file)) {
   echo "Command executed successfully.\n";
 } else {
   die('Command failed.');
 }
 ?>

<?php
 // 호스트 정보
 $ftp_server = "호스트 혹은 ip주소"; 
 $ftp_user_name = "접속 아이디"; 
 $ftp_user_pass = "접속 패스워드"; 

 // 호스트 접속
 $conn_id = ftp_connect($ftp_server); 

 // 호스트 로그인 
 $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

 // 퍼미션 변경할 파일
 $file = 'public_html/test.php';

 $command = 'chmod 0600 ' . $file;
 if (ftp_exec($conn_id, $command)) {
    echo "$command executed successfully\n";
 } else {
    echo "could not execute $command\n";
 }

 ftp_close($conn_id);
 ?> 

0 댓글