2010-03-23 4 views
1

zip 아카이브를 업로드하는 중 다음과 같은 오류가 발생합니다.thumbs.db 업로드 루틴이 엉망입니다

Warning: ZipArchive::extractTo(C:\xampplite\htdocs\testsite/wp-content/themes/mytheme//styles\mytheme/Thumbs.db) [ziparchive.extractto]: failed to open stream: Permission denied in C:\xampplite\htdocs\testsite\wp-content\themes\mythem\uploader.php on line 17 

내가 확실히 파악할 수 문제는 난 그냥 이러한 오류를 얻을, 우편 아카이브 또는 (업로드가 아직 처리 생성 된 대상 폴더 중 하나에에서 Thumbs.db 파일을 볼 수 없다는 것입니다).

기능은 라인 (17)이 주석 아래에있다가 ...

function openZip($file_to_open) { 
    global $target; 
    $zip = new ZipArchive(); 
    $x = $zip->open($file_to_open); 
    if($x === true) { 
     $zip->extractTo($target); //this is line 17 
     $zip->close(); 

     unlink($file_to_open); 
    } else { 
     die("There was a problem. Please try again!"); 
    } 
} 

답변

0

이 경로는 모든 C를 엉망 : \ xampplite \ htdocs를 \ 실험 사이트/WP - 콘텐츠/테마/mytheme // 스타일 \ mytheme/Thumbs.db

아마도이 문제는 Windows 문제 일 수 있습니다.

당신은 당신이 파일을 업로드하려고 할 때

echo $file_to_open; exit; 

과 그것을 말하는 우리에게 말하는 라인 (17) 위의 라인을 추가 할 수 있습니까?

+0

C : \ xampplite \ htdocs를 \ 실험 사이트/WP - 콘텐츠/테마/mytheme/myupgradefile.zip –

+0

음, 어쩌면, 혼합 슬래시 및 백 슬래시 문자로 경로를 처리하는 방법을 창 모른다 일부 사용자는 여기에서 도울 수 있습니다. 은 존재하는 C : \ xampplite \ htdocs \ testsite/wp-content/themes/mytheme 디렉토리입니까? 아파치가 그것에 글을 쓸 수 있습니까? – kodisha

+0

혼합 슬래시가 PHP에서 괜찮습니다. –

0

맹 글링 된 경로가 작동한다고 가정하면 대상 디렉토리 (기본적으로 숨김 파일)에 thumbs.db가 있고 스크립트에 해당 파일/디렉토리에 쓸 수있는 권한이 없습니다. "프로세스 사용 중 사용 중"이라고 말하기보다는 Windows가 파일이 다른 프로세스에서 사용 중이면 "사용 권한이 거부되었습니다"라는 메시지가 매우 크게 나타납니다.

1

경고처럼 보입니다. 나는 그것을 무시할 것이다. 압축 해제 디렉토리에있는 thumbs.db 파일을 덮어 쓰려고 할 때 오류가 발생합니다.

또는 getNameIndex을 사용하여 파일 목록을 얻고 thumbs.db를 필터링 한 다음 두 번째 매개 변수 extractTo을 사용하여 파일을 필터링하십시오.

http://www.php.net/manual/en/function.ziparchive-getnameindex.php http://www.php.net/manual/en/function.ziparchive-extractto.php

관련 문제