2015-01-17 7 views
0

나는 is_writable()을 사용하여 폴더 나 파일이 쓰기 가능한지 확인 할 수 있다고 읽었습니다.PHP는 파일을 쓸 수 있는지 확인하기 위해 is_writable()을 사용합니까?

파일을 폴더에 쓸 수 있는지 어떻게 확인합니까?

  1. 폴더를 검사 할 수 있고 폴더가 쓰기 가능합니까? 그런 다음 해당 파일을 해당 폴더에 넣을 수 있습니까?
  2. 파일이 폴더에 쓰여진 경우 어떻게 다시 쓰기 가능한지 (편집) 어떻게 확인합니까? 해야합니까? 그렇다면 폴더 대신 파일을 확인합니까?
  3. 안전한 방법 (올바른)일까요?
+0

혹시 공식 [documentation] (http://php.net/manual/en/function.is-writable.php)을 읽으셨습니까? –

답변

1

PHP 기능 is_writable은이 용도로만 사용됩니다. 파일을 작성한 후에도 파일이 여전히 쓰기 가능한 상태인지 확인하려면 동일한 기능을 사용할 수 있습니다.

1

당신이 지적한 질문에서 링크 된 문서를 읽으십시오. is_writable()은 파일 및 디렉토리 작업 중입니다.

그러나 마음 :이 같은 코드가있는 경우 :

if (is_writeable("foo.txt")) { 
    $fp = fopen("foo.txt", "w"); 
    /* ...*/ 
} 

이 여전히 실패 할 수 있습니다. 예를 들어, 잠금 또는 경쟁 조건 (두 명령간에 사용 권한이 변경 될 수 있음)이있을 수 있습니다. 오류를 열어 본 다음 오류를 처리하는 것이 좋습니다.

$fp = @fopen("foo.txt", "w"); 
if (!$fp) { 
    report_error_in_some_way(); 
} 
+0

Mh, PHP4 파일 기능. –

+0

@ 연산자를 사용하면 문제가 생깁니다. report_error_in_some_way() 함수가 손상되었다고 가정하면 실제 문제를 찾는 데 어려움을 겪을 수 있습니다. @ 연산자는 절대로 사용하지 마십시오. –