나는 전달 된 디렉토리의 모든 파일을 삭제하는 PHP 함수를 작성하고 있습니다 (그리고 결국에는 재귀 적 삭제로 확장 될 수 있습니다). 안전을 위해 버그가 있거나 뭔가를 통해 전달 된 디렉토리가 루트 디렉토리 인 경우 삭제를 시도하지 않도록하고 싶습니다.PHP에서 루트 디렉토리 인식하기
파일 권한은 크게 나를 보호하지만, 단지의 경우, 내가 재귀로 확장 특히 난 그냥 그 여분의 단계로 가겠습니다 삭제해야합니다. 복잡한 요소로
,이 코드는 윈도우 머신 또는 리눅스 머신에서 실행 될 수 있으므로 루트 디렉토리는 'C : \'처럼 보일 수 있습니다 또는 '/'. 나는 실제로 루트뿐만 아니라 아마도 'c : \ temp ..'를 참조하는 다른 방법이 있다고 가정합니다.그래서 PHP에서 dir spec이 파일의 루트로 해석된다는 것을 인식 할 수있는 확실한 방법이 있습니까? 체계?
정교화 ...
나는 웹 앱 phpunit을 테스트를 쓰고 있어요 내가 테스트가 나중에 실행하고 복원하기 전에 응용 프로그램의 상태를 백업 프레임 워크를 만들려고 해요. 이 앱을 통해 사용자는 파일을 업로드 할 수 있습니다. 파일의 내용에 따라 여러 가능한 디렉토리 중 하나로 복사됩니다. 저장하고 해당 디렉토리 어딘가에 복사해야하는 응용 프로그램의 상태를 복원하려면
는, 테스트 실행, 다음 디렉토리는 파일이 삭제되고 백업에서 입수해온이 필요합니다.
이 디렉토리의 위치는 컴퓨터마다 다를 수 있으며 일부 사람들은 웹 응용 프로그램 외부에 배치한다고 알고 있습니다. 테스트에서 읽을 수있는 구성 파일이 있는데이 파일은 해당 컴퓨터의 디렉터리 위치를 제공합니다.
모든 디렉토리를 특정 디렉토리 트리로 제한하지 않으면 jailing을 수행하기가 어렵습니다. 이 디렉터리를 특정 디렉터리 트리로 제한하면 일부 사람들은 자신의 컴퓨터를 다시 구성해야합니다.
나는 이것에 대해 생각하고 나는 그 용어 "옥죄"를 좋아한다. 일부 Windows 시스템에서는 사용자 계정의 디렉토리 인 c : \ users \ ... 및 웹 응용 프로그램의 디렉토리 (c : \ wamp \ www \)를 설명해야한다고 생각하기 때문에 수감이 어려울 수 있습니다. . 아마도 영향을받는 모든 디렉토리가 c : \ wamp \ 아래에 있도록 시스템을 재구성 할 가치가 있습니다. 다른 점은 실수로 모든 파일을 삭제하지 않으려는 다른 디렉토리가 있다고 동의하지만 루트는 유일한 것입니다 하나는 버그가 발생할 가능성이 높다고 생각합니다. –
정확히 무엇을 성취하려고하는지 자세히 설명해 주시겠습니까? 나 또는 다른 누군가가 도움이 될만한 답을 줄 수 있습니다. –
상세히 작성 –