플러그인 업로더의 업로드 디렉토리를 변경하는 방법
플러그인을 개발했는데 플러그인에는 커스텀 미디어 업로더가 있습니다.플러그인 업로더에서 파일을 업로드하면 해당 파일이 업로드되어 WordPress 기본값으로 저장됩니다.uploads/
폴더입니다.
하지만 플러그인 업로더에서 파일을 업로드 할 때 워드프레스 커스텀 내의 새 폴더에 해당 파일을 업로드해야 합니다.uploads
그래서 구글에서 검색해보니 다음 코드가 있더군요.
<?php
function upload_dir($dirs)
{
$dirs['subdir'] = '/my-uploads';
$dirs['path'] = $dirs['basedir'] . '/my-uploads';
$dirs['url'] = $dirs['baseurl'] . '/my-uploads';
return $dirs;
}
add_filter('upload_dir', 'upload_dir');
?>
이제 업로드된 모든 파일(게시물, 페이지 등)도 해당 플러그인 폴더에 저장됩니다.
플러그인 업로더에서 업로드된 파일만 다음 파일에 저장되도록 합니다.my-folder
나머지 파일은 WordPress 기본값으로 저장해야 합니다.uploads
폴더...
업로드 코드 직전,
add_filter('upload_dir', 'upload_dir');
그런 다음 코드를 업로드한 후 다음을 사용합니다.
remove_filter('upload_dir', 'upload_dir');
이렇게 하면 필터는 플러그인 업로드에만 작동하고 다른 위치에서는 작동하지 않습니다.
플레인 PHP를 사용하여 직접 파일을 처리해야 할 수도 있습니다.양식을 처리할 때 다음을 수행하십시오.
$uploaddir = '/path/to/plugin/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if( move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))
echo 'success!';
else
echo 'fail!';
및 사용print_r($_FILES);
디버깅할 수 있습니다.
단, 보안 위험이 발생할 수 있으므로 매우 주의해야 합니다.자세한 내용은 보안 PHP 파일 업로드 스크립트를 참조하십시오.
.htaccess 설정과 관련이 있을 수 있습니다..htaccess 파일은 사용자가 수행할 수 있는 작업에 대한 제한을 만듭니다.또는 파일 외부에 다른 설정이 있을 수 있습니다.테스트하기 위해 여러 서버에서 실행해 본 적이 있습니까?
여기 유효한 솔루션이 있습니다.
add_filter('upload_dir', 'my_upload_dir');
$upload = wp_upload_dir();
remove_filter('upload_dir', 'my_upload_dir');
funcion my_upload_dir($upload) {
$upload['subdir'] = '/sub-dir-to-use' . $upload['subdir'];
$upload['path'] = $upload['basedir'] . $upload['subdir'];
$upload['url'] = $upload['baseurl'] . $upload['subdir'];
return $upload;
}
언급URL : https://stackoverflow.com/questions/37591549/how-to-change-upload-directory-in-my-plugin-uploader
'programing' 카테고리의 다른 글
Wordpress: 사용자 지정 유형의 모든 게시물을 가져옵니다. (0) | 2023.03.02 |
---|---|
Facebook like box 위젯이 데이터 폭 속성을 인식하지 못합니다. (0) | 2023.03.02 |
개체를 호출할 수 없습니다.angularjs 키 (0) | 2023.03.02 |
애플리케이션 컨텍스트에서 일부 콩의 의존성이 사이클을 형성합니다. (0) | 2023.03.02 |
jQuery Ajax가 404 오류를 반환하지만 올바른 응답입니다. (0) | 2023.03.02 |