업로드시 디렉토리 만들기-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.