2012-04-20 2 views
0

IE9에서 mkdir과 ​​관련하여 이상한 문제가 있습니다.IE에서 rmdir 후에 mkdir이 작동하지 않습니다.

나는 폴더와 링크 해제 및 rmdir을 사용하여 폴더 내의 모든 파일을 확인하고

$temp_main_folder = session_id(); 
if(!is_dir($temp_main_folder)){ 
    mkdir($temp_main_folder . "/", 0755); 
} 

을 사용하여 폴더를 생성하고 제거 할 수있을 것.

이 기능은 Firefox, Chrome, Safari를 사용할 때마다 작동합니다. 문제는 IE에서 mkdir을 처음 실행할 때 작동한다는 것입니다. 그리고 IE에서 rmdir을 처음 실행할 때 작동합니다. 그러나 다음에 IE에서 mkdir을 실행하려고하면 아무 일도 일어나지 않습니다. 오류가 없으며 폴더가 제거 된 것을 볼 수 있습니다. IE를 다시 시작해야 다시 작동합니다.

저는 Apache 2 웹 서버로 Windows를 실행하고 있습니다.

+0

php는 서버 측이고 브라우저는 우위입니다. –

+0

그래, 내가 IE를 사용하고있을 때만 발생한다는 이상한 행동을 안다 – puks1978

답변

0

브라우저는 추측이 아마도 즉

유일한 효과 브라우저가 session_id() 기능을보고 결정 할 수 있습니다 할 수 있습니다 ..

를 전송하지 .. 그 서버 사이드로, PHP에 영향을주지 수 세션 ID를 얻기 위해 필요한 쿠키 ..

0

감사합니다.하지만 문제는 IE가 mkdir 요청을 캐싱했기 때문에 폴더가 존재하는지 확인했을 때 IE가 여전히 그랬다고 생각했습니다!

+0

당신은 디렉토리 구조의 디스플레이 캐싱을 의미합니까? 브라우저는 PHP 함수를 캐시 할 수 없다. –

+0

헤더 ("Cache-Control : no-cache, must-revalidate"를 추가해야한다. 헤더 ("만료 : 1997 년 7 월 26 일 월요일, 05:00:00 GMT"); 효과가있다. – puks1978

관련 문제