Home 게시판 커뮤니티 Q&A 파일업로드를 구현하고 싶은데 잘 안되네요

4개 답변, 3 voices Last updated by Avatar of UNI UNI 7 월, 4 주 전
  • Avatar of UNIUNI
    Participant
    @qwertyhyun
    #52937

    페이지 안에 직접 html문으로 입력하여 form을 만들었는데요

     

    문제는 파일 업로드를 어떻게 하는지 여러 예제를 봤는데도 하나도 모르겠습니다.

    wp_handle_upload라는 내장함수 써서 구현하라고 하는데

    이걸 어디에다가 적는지 몰라서 우선 function.php에다가 이 코드를 전체 적었습니다.

    (따로 함수를 만들지 않고 그냥 적었습니다)

    그러니깐 파일 업로드는 안되고 그냥 홈페이지에 파일을 없다 라는 택스트만 띄워집니다

    지금 여러가지 예제를 찾아서 적용해보고 하는데 아무것도 되는게 없네요

    https://codex.wordpress.org/Function_Reference/wp_handle_upload

    여기에 들어가서 보는데도 예제만 가지고는 자세히 모르겠습니다.

    그리고 추가적으로 csv 파일을 올려서 DB에다가 데이터를 넣는 기능을 구현하고 싶은데

    파일 업로드 자체가 안되니 csv 파일을 DB에 넣는 것조차 못 하고 있습니다.

    큰 가르침이 필요합니다. 도와주세요

    진짜 작은것 부터 하나 하나 필요한거 같습니다

  • Avatar of 워드크래커워드크래커
    Participant
    @wordcracker7
    #52940

    안녕하세요?

    그리고 추가적으로 csv 파일을 올려서 DB에다가 데이터를 넣는 기능을 구현하고 싶은데

    파일 업로드 자체가 안되니 csv 파일을 DB에 넣는 것조차 못 하고 있습니다.

    –> 이와 같은 기능을 하는 플러그인이 있습니다. 플러그인을 사용해보시기 바랍니다.

    https://www.thewordcracker.com/intermediate/xml-%EB%98%90%EB%8A%94-csv-%ED%8C%8C%EC%9D%BC%EC%9D%84-%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4%EC%97%90-%EC%B6%94%EA%B0%80/

     

    Avatar of 워드크래커

    • 워드프레스 정보 제공 블로그: Visit
    • 워드프레스와 관련하여 문제 해결이 필요한 경우 문의해주세요.

  • Avatar of UNIUNI
    Participant
    @qwertyhyun
    #52942

    지금 플러그인을 안 사용하고 직접적으로 하려고 하는데

    제가 원하는 css로 적용하기가 어려워서 그렇습니다

    업로드 하는게 많이 어려운 소스인가요?

  • Avatar of DaveDave
    Participant
    @wpguide
    #52969

    안녕하세요.

    파일 업로드 처리는 워드프레스라고 해서 딱히 다를 건 없습니다.
    그냥 PHP의 기본적인 파일 업로드 방식에 따라 처리하면 됩니다.
    다만 워드프레스에서 제공하는 wp_handle_upload 함수를 사용하면 업로드 처리가 조금 더 편리해 집니다.

    예를 들어, 특정 페이지(템플릿)에 다음과 같이 폼을 만들었다고 하죠. 파일 이름은 예컨대 my-page.php 라고 하구요.

    이 form이 별도의 action 값을 선언하지 않았기 때문에 저장 버튼을 클릭하면 당연히 다시 이 페이지를 호출할 것입니다.

    (앗! 그리고 업로드 할 때 form의 method 값은 “post”로 해야 하구요.)

    그러니 파일 업로드 처리도 이 페이지(즉, my-page.php) 에서 하는 게 좋겠죠?

    예를 들면, 다음과 같은 식으로 해당 페이지 상단에서 처리해 주면 됩니다.

    물론, 지금 하신대로 functions.php 파일에 코드를 넣어도 안되는 건 아니지만, 권장하는 방법은 아닙니다.

    functions.php 파일은 워드프레스의 모든 웹요청에서 항상 호출되기 때문에 위와 같이 직접 functions.php 에 코드를 삽입하면
    모든 페이지 호출 시에 항상 호출되어 실행되기 때문에 기대했던 것과는 다른 효과가 생길 수도 있구요.

    참고로, 업로드 핸들링 코드를 두는 조금 더 나은 방법은 워드프레스에서 제공하는 POST 호출의 endpoint를 활용하는 것입니다.

    이 방법은 아래 문서에 자세하게 설명되어 있으니 참고 바랍니다.

    https://wpguide.usefulparadigm.com/posts/245

    조금이라도 도움이 되셨으면 좋겠네요.

    그럼 즐거운 해킹 하세요!~

     

     

     

     

     

     

  • Avatar of UNIUNI
    Participant
    @qwertyhyun
    #53007

    감사합니다 🙂

4 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.