업로드시 디렉토리 만들기-wp_mkdir_p () 또는 WP_Filesystem?


9

나는 이전에 WP에서 폴더 / 파일을 만들어야 할 필요가 없다고 생각하지만 플러그인의 경우 (크기 조정 이미지의 경우) 폴더에 캐시가 필요합니다 wp-content/uploads.

어떤 질문이 제기 됩니까? Filesystem API필요한 경우 FTP 자격 증명을 어지럽게 요구하는 것을 포함하여 모든 프로세스를 실제로 수행해야합니까 , 아니면 wp_mkdir_p()이것으로 충분합니까?

답변:


7

wp-content/uploads/서버에 쓸 수 있어야합니다 (그렇지 않으면 파일을 업로드 할 수 없습니다). 이 디렉토리 아래에 무언가를 만들려면을 사용하는 것이 안전합니다 wp_mkdir_p().

WP_Filesystem서버에 쓰기 권한이없는 서버에 위치와 같은 쓰기 권한이없는 경우 에만 사용 합니다 wp-content/plugins/.

주석 : 코덱스의 파일 권한 페이지wp-content/cache/디렉토리 에 대해 설명합니다 . 캐시 파일의 "보다 표준적인"위치입니까?


확실하지는 않지만 cache페이지 캐싱 플러그인과 같은 것에 관한 것이지만 내 경우는 대체 버전의 이미지에 관한 것입니다 ...이 폴더 간의 구별은 기술적 인 것이 아니라 의미 론적으로 보입니다.
Rarst

6

나는 끝없는 가능성의 가능성 / 호스팅 설정으로 엉망이되기 전에 간단한 것을 시도합니다.

$target = 'wherever';
wp_mkdir_p( $target );

if ( wp_mkdir_p( $target ) === TRUE )
{
    echo "Folder $target successfully created";
}
else
{
    new WP_Error; #... etc. Just tell where the user has to make a new folder with the name xy
    // or if you're kool, you use _doing_it_wrong(); ... ;-)
}

Btw : 테스트를 거치지 않았으므로 wp_mkdir_p();실행 후 검사 할 수 있는지 저장 하거나 if 문 내부에서 fn 실행을 수행 해야하는지 여부를 알 수 없습니다 ... 지금).
카이저

관련 기능은 일종의 백엔드입니다. 상호 작용을 최소화하고 싶습니다. 플러그인 설정의 메시지는 고려할 가치가 있지만.
Rarst

나는 그것에 대해 너무 많이 생각하지 않을 것입니다. sys 사용자가 기본값으로이를 수행 할 수없는 경우 수행 할 작업을 알려주십시오. 내가 말했듯이 : 가능성은 무한하며 imho는 코드 나 지원을 통해 문제를 해결하기 위해 계속 노력해야하는 결과를 알려주는 것이 좋습니다.
카이저

4

플러그인이 파일 / 폴더를 생성하게하는 것에 대해 머릿속에 서 있습니다. 내 플러그인도 그렇게하고 다른 사용자에 대한 파일 권한과 관련된 많은 문제가 발생했습니다. 일부는 창문이고, 일부는 유닉스이고, 일부는 호스팅되고, 일부는 자란 집입니다. 플러그인을 공유하면 내 # 1 지원 이메일이었습니다.

파일 시스템을 만질 필요성을 최소화하기 위해 코드를 리팩터링했으며 업로드 디렉토리는 이러한 문제를 피하기 위해 지금 사용하는 유일한 디렉토리입니다.


네, 이해합니다. 그래서 질문을하는 것이 귀찮습니다. 이 문제에 대한 나의 현재 개요는 uploadsWP가 실패하기에 충분히 잠겨 있으면 플러그인이 더 많은 것을 시도하고 수행하는 것이 의미가 없다는 것입니다. 그리고 WP에 충분하다면 플러그인에 충분합니다. 운 좋게도 어디서나 캐시 디렉토리가 필요하며 더 복잡하고 오류가 발생하기 쉬운 것이 아닙니다.
Rarst
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.