코스모스팜 스레드

미디어 파일에 파일을 업로드하면 그 내용을 DB에 저장하고 싶습니다

페이지에 front-uploader 라는 플러그인을 사용하여 미디어 파일(이미지)을 업로드 할 수 있도록 설정하였습니다.

그런데 여기서 하나 설정을 추가하고 싶은 것이 사용자가 업로드한 이미지 파일의 이름과 경로, 사용자의 정보를 DB에 저장하고 싶습니다

그 이유는 업로드한 사용자가 들어오면 베너처럼 페이지에 상단에 띄워줄 생각이기 때문입니다.

그렇기 위해서 그 사람의 정보와 파일의 경로, 업로드 파일명을 DB에 저장하려고 하는 것이고요

만약에 이것보다도 더 좋은 업로드 방식으로 DB에 저장할 수 있다면 다른 플러그인을 사용해도 상관없습니다

좋은 플러그인이나 혹은 미디어 파일을 업로드하면 그 내용을 DB에 저장하는 방법좀 알려 주실수 있을까요?

이 페이지의 내용이 유익하시나요? 혹은 더 많은 답변을 받길 원하시면 이 페이지를 공유 해보시는건 어떨까요?

내 홈페이지에 소셜 공유 버튼 추가하기

코스모스팜 회원관리
코스모스팜 회원관리
  • 안녕하세요~^^

    저희가 모든 플러그인의 코드를 알 수 없기 때문에

    해당 플러그인 제작자에게도 문의를 해보는 게 좋을 듯합니다.

    좋은 플러그인을 찾게 되면 다시 안내해드리겠습니다.

    고맙습니다.

  • 그럼 혹시 미디어 라이브러리에 파일을 올릴 때 다른 DB에 쿼리를 날릴 수 있도록 할 수 있나요?

    wp_posts에 미디어 라이브 내용이 저장되던데 거기에 추가적으로 DB를 넣으면 될거 같은데 말이죠

  • add_attachment 액션(Action)과 add_post_meta 함수를 사용하시면 될 듯합니다.

    워드프레스의 미디어 라이브러리에 파일 업로드 시

    wp_posts 테이블에 파일의 경로, 업로드 파일명이 저장되며

    add_post_meta 함수로 wp_postmeta 테이블에 데이터를 추가하실 수 있습니다.

     

    wp_postmeta 테이블에 사용자의 id를 추가하는 예제를 만들어봤습니다.

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에

    아래의 코드를 추가해보시겠어요?

    add_action('add_attachment', 'attachment_manipulation');
    function attachment_manipulation($id){
    	if(is_user_logged_in()){
    		add_post_meta($id, 'user', get_current_user_id());
    	}
    }

     

    저장된 값을 불러올 땐 get_post 함수와 get_post_meta 함수를 사용하시면 됩니다.

    고맙습니다.

  • 제가 원하던 답변입니다 정말 감사합니다^^

코스모스팜 회원관리