2012-01-08 2 views
0

내 코드는 mkdir 함수로 검사해야하지만 폴더가 존재하지 않는다고 계속 말합니다. 폴더를 생성하지만 업로드 프로세스를 거치지 않습니다. couldnt에 오류를 표시 폴더를 찾으십시오 .. 올바른 알고리즘입니까? 제발 도와주세요 .. 당신의 조언이 도움이 될 것입니다! :) 여기 파일 시스템 경로 생성 오류 (파일 업로드)

이 ..

if(!(file_exists($target_path))) 
{ 
    if(!mkdir($target_path, 0777, TRUE)) 
    { 
     die ("could not create the folder on mkdir"); 
    } 
    //in this line the error occurs..printing what is below..// 
    die ("could not find folder on file exists"); 
} 
else 
{ 
    umask($target_path); 
    ... 
} 
+0

정확한 오류 메시지와 발생 행을 인용 할 수 있습니까? –

+0

@Pekka @Pekka 이미 해 봤어 .. 제발 .. 고마워 .. : D – SimonCode

+0

@ hakre hehe .. 편집 해 주셔서 감사합니다. : D .. 어떻게 말해야할지 모르겠다 .. – SimonCode

답변

1

file_exists() 루틴은

/var/www/uploads/file1.c 

그래서

file_exists($target_path); 

호출이 괜찮처럼 파일의 전체 경로를 필요로한다. 하지만 두 번째 전화가

mkdir() 

이 디렉토리를 요구하고, 즉, 디렉토리를 확인하기 위해, 파일이 아닌 경로 즉, 그것은는/var/www /에서 업로드 부분 만 필요합니다. 경로 이름에서 기본 이름을 제거하고 mkdir function()에 적용 할 수 있습니다.

1

시도 ..

코드 인 경우 (file_exists ($의 target_path) & & is_dir ($의 target_path)) {// 코드의 나머지 부분. .. } 대신

...

경우 (! (file_exists ($ 타르 이 당신을 위해 무엇인가를 할 것입니다 get_path))) {

}

희망 ...

...................... .........

한 가지 더 ... 나는 (! (file_exists가 ($의 target_path))) {} 성명,

이 할 필요가있는 경우 문제가 으로 생각 ... if (! file_exists ($ target_path)) {}

+0

좋아, 이걸 시도해 봐야 해. – SimonCode

+0

아직 작동하지 않았다 .. – SimonCode

2

파일 업로드 프로세스 중에 파일 저장 경로가 move_uploaded_file() 인 경우 문제가 발생할 수 있습니다. 귀하의 주어진 코드가 나에게 충분히 명확하지 않기 때문일 수 있습니다. move_uploaded_file()의 두 번째 매개 변수는 첫 번째 매개 변수가 파일 이름 인 대상입니다. $ target_path의 값을 확인하십시오, 당신의 문제를 해결할 수 있습니다. 고맙습니다.

+0

도움을 주셔서 감사합니다! :디 – SimonCode