2014-03-07 2 views
2

어떻게 ftp 사용자의 루트 폴더로 돌아갈 수 있습니까? 이 예제에서는/home/user/dir에있는/isi /입니다.PHP FTP 사용자의 루트 폴더로 돌아 가기

 $location = $order; 
     $real_location = $workflow_location =$leverancier; 

     if ([email protected]_chdir($ftp_conn, $real_location)) { 
      ftp_mkdir($ftp_conn, $real_location); 
     } 

     foreach($maps as $map) { 
      $real_location = $real_location . '/' . $map; 
      $workflow_location = $workflow_location . '~' . $map; 

      if ([email protected]_chdir($ftp_conn, $real_location)) { 
       ftp_mkdir($ftp_conn, $real_location); 
       ftp_chdir($ftp_conn, $real_location); 
      } 

     } 
     // ISI is the root folder 
     if (ftp_chdir($ftp_conn, '/isi/')) { 
      echo "ftp_chdir successful\n"; 
     } else { 
      echo "ftp_chdir not successful\n"; 
     } 
     exit; 

------------------------------------------- --------------- 편집하다 ---------------------------------- ------------------------------

실제로 코드를 작성하는 것은 깨끗한 방법은 아니지만 코드 뒤에 배치하는 방법입니다. 위의 포스터가 트릭을 만들었습니다. 나는 ftp_cdup 함수를 몇 번 사용해야 하는지를 알았던이 방법으로 폴더를 계산했습니다.

$i = count($maps); 
     $i++; 
     while($i > 0) { 
      ftp_cdup($ftp_conn); 
      $i--; 
     } 

------------------------------------------- --------------- EDIT2 ---------------------------------- -----------------------------

다른 솔루션 : 리눅스 머신 당신은 현재를 해결할 수에

ftp_chdir($ftp_conn, '~'); 
+0

,'사용자 HOME 폴더'? 리눅스 컴퓨터에서'~'는 사용자 홈 디렉토리를 simbolizes 때문에 ...'ftp_chdir ($ ftp_conn, '~');'이 일을해야합니다. – Kamiccolo

+0

그 트릭도 있었고, 나는 당신의 솔루션이 훨씬 좋다고 생각합니다. 공유 해줘서 고마워! – Dyam

답변

1

사용자의 홈 디렉토리는 ~입니다.

따라서 가능한 해결책 중 하나는 ftp_chdir($ftp_conn, '~');을 사용하는 것입니다. 이 주제에 대한

더 :. 아직 ~, .. 공식 문서 항목을 찾는

관련 문제