URL에서 로컬 폴더 또는 원격 서버의 폴더로 직접 파일 다운로드

나는 느낀다

링크에서 파일을 다운로드했으며 로컬 시스템 폴더 또는 원격 서버 폴더에 저장해야합니다. 시나리오는 다음과 같습니다. mailgun 도메인이 있고 메일을 보낼 때 Mailgun 저장소 기능 ( store())이 모든 첨부 파일과 함께 저장하고 알림을 보냅니다. mailgun의 응답은에서 잡히고 응답을 catch_email_attachment()가져올 수 있으며 첨부 파일의 링크를 얻었습니다. 브라우저에서 직접 링크를 실행하면 첨부 파일이 제공되며 문제는 없습니다. 하지만 파일을 다운로드하여 catch_email_attachment()폴더에 저장해야합니다.

다운로드 가능한 파일은 " https://API:<API-KEY>@api.mailgun.net/v2/domains/sandboxa6e6ebce3f68475aa3xxxxxxxd60.mailgun.org/messages/eyJwIjogZmFsc2UsICJrIjogImQ0MmZjxxxxxxxxxxxxxxDQwNy1iYzhlLTA2OWMxY2U3MDg2NCIsIxxxxxxxxxxxxxx1Y2UiLCAiYyI6ICJpYWR0cmFpbGVycyJ9/attachments/0"입니다.

내 코드는 다음과 같습니다.

public function catch_email_attachment()
{
    $data = $this->input->post(null, true);
    if (!empty($data)) {
        if (isset($data['attachments'])) {
            /*
            Output of $data['attachments'] is below:
            [{"url": "https://api.mailgun.net/v2/domains/sandboxa6e6ebce3f68475aa3xxxxxxxd60.mailgun.org/messages/eyJwIjogZmFsc2UsICJrIjogImQ0MmZjxxxxxxxxxxxxxxDQwNy1iYzhlLTA2OWMxY2U3MDg2NCIsIxxxxxxxxxxxxxx1Y2UiLCAiYyI6ICJpYWR0cmFpbGVycyJ9/attachments/0", "content-type": "image/jpeg", "name": "xxxxxxx.jpeg", "size": 9498}]
            */

            copy('https://API:[email protected]/v2/domains/sandboxa6e6ebce3f68475axxxxxxxxxxxxxxxxxxxxxxxxxxxx.mailgun.org/messages/eyJwIjogZmFsc2UxxxxxxxxxxxxxxxxxxxxxxxxxxxxmUtNDQwNy1iYzhlLTA2OWMxY2U3MDg2NCIxxxxxxxxxxxxxxxxxxxxxxxxxxxx1Y2UiLCAiYyI6ICJpYWR0cmFpbGVycyJ9/attachments/0', '/var/www/download_loc/');
        }
    }
}

나는 참조했다 : https://stackoverflow.com/a/26330976/4229270

https://stackoverflow.com/a/6594030/4229270

https://stackoverflow.com/a/724449/4229270

문제 해결을 도와 주시겠습니까? 미리 감사드립니다.

Farkie

$data['attachments']json 배열 처럼 보이 므로 다음과 같은 것이 필요합니다.

    $attachments = json_decode($data['attachments']);
        $api_key = 'APIKEY';
        if ($attachments) {
            foreach ($attachments as $attachment) {

                $context = stream_context_create(array(
                    'http' => array(
                        'header'  => "Authorization: Basic " . base64_encode("API:$api_key")
                    )
                ));

                file_put_contents('/var/www/download_loc/' . $attachment->name, file_get_contents($attachment->url, false, $context));

            }
        }

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

로컬 컴퓨터에 다운로드하지 않고 SSH를 사용하여 원격 서버의 폴더에서 폴더로 파일 이동

분류에서Dev

경로의 폴더에 공백이있는 경우 폴더에서 직접 PowerShell 파일을 열 수 없음

분류에서Dev

ftp에서 파일로 다운로드하는 폴더

분류에서Dev

Android의 다운로드 폴더에서 pdf 또는 doc 파일 가져 오기

분류에서Dev

SharpSsh 및 C #을 사용하여 원격 서버의 한 폴더에서 다른 폴더로 파일을 이동하는 방법

분류에서Dev

원격 시스템에서 원격 시스템의 폴더로 파일 복사

분류에서Dev

WiX : 로컬 폴더에서 설치 폴더로 파일 복사

분류에서Dev

dired / tramp를 사용하여 원격 서버에서 emacs의 로컬 폴더로 파일을 복사하는 방법은 무엇입니까?

분류에서Dev

Outlook 2010에서 로컬 서버의 파일 폴더를 여는 vbscript

분류에서Dev

VM에서 / mnt를 Symlinking하여 파일을 VM 폴더로 직접 컴파일

분류에서Dev

서버 폴더에서 파일 다운로드

분류에서Dev

S3 버킷 + 폴더에서 파일 다운로드

분류에서Dev

vue를 사용하여 로컬 폴더에서 파일 다운로드

분류에서Dev

S3 폴더에서 파일을 다운로드하고 폴더를 생성하는 셸 스크립트

분류에서Dev

scp 명령을 사용하여 한 원격 서버에서 다른 원격 서버로 파일과 폴더를 복사하는 방법은 무엇입니까?

분류에서Dev

asp.net의 폴더에서 파일 다운로드

분류에서Dev

WinSCP .NET SynchronizeDirectories가 원격 폴더에서 제거 된 후 로컬 파일을 삭제하지 않습니다.

분류에서Dev

gradle의 한 폴더에서 다른 폴더로 파일 복사

분류에서Dev

gitlab 저장소에서 단일 폴더 또는 파일을 다운로드하는 방법

분류에서Dev

하나의 Linux 서버에서 다른 Linux 서버로 파일 또는 폴더를 복사하는 방법

분류에서Dev

폴더 2에 파일이없는 경우 폴더 1에서 폴더 2로 파일 이동

분류에서Dev

한 폴더에서 다른 폴더로 파일을 이동하는 동안 IOException

분류에서Dev

원격 서버의 폴더 구조로 이동

분류에서Dev

앱에서 CSV 또는 TXT 파일을 생성하고 '다운로드'폴더에 저장-Android

분류에서Dev

쿼리 : rsync-원격 서버에서 원격 서버로 로컬 폴더 복사

분류에서Dev

한 폴더에서 다른 폴더로 파일 이름 복사

분류에서Dev

한 대상 폴더에서 다른 폴더로 파일 복사

분류에서Dev

프로토콜 오류 : 원격 서버에서 로컬로 폴더 / 파일을 전송하려고 할 때 mtime.sec가 없습니다.

분류에서Dev

CMD 또는 Batch를 사용하여 여러 파일을 하위 폴더에서 하나의 폴더로 이동

Related 관련 기사

  1. 1

    로컬 컴퓨터에 다운로드하지 않고 SSH를 사용하여 원격 서버의 폴더에서 폴더로 파일 이동

  2. 2

    경로의 폴더에 공백이있는 경우 폴더에서 직접 PowerShell 파일을 열 수 없음

  3. 3

    ftp에서 파일로 다운로드하는 폴더

  4. 4

    Android의 다운로드 폴더에서 pdf 또는 doc 파일 가져 오기

  5. 5

    SharpSsh 및 C #을 사용하여 원격 서버의 한 폴더에서 다른 폴더로 파일을 이동하는 방법

  6. 6

    원격 시스템에서 원격 시스템의 폴더로 파일 복사

  7. 7

    WiX : 로컬 폴더에서 설치 폴더로 파일 복사

  8. 8

    dired / tramp를 사용하여 원격 서버에서 emacs의 로컬 폴더로 파일을 복사하는 방법은 무엇입니까?

  9. 9

    Outlook 2010에서 로컬 서버의 파일 폴더를 여는 vbscript

  10. 10

    VM에서 / mnt를 Symlinking하여 파일을 VM 폴더로 직접 컴파일

  11. 11

    서버 폴더에서 파일 다운로드

  12. 12

    S3 버킷 + 폴더에서 파일 다운로드

  13. 13

    vue를 사용하여 로컬 폴더에서 파일 다운로드

  14. 14

    S3 폴더에서 파일을 다운로드하고 폴더를 생성하는 셸 스크립트

  15. 15

    scp 명령을 사용하여 한 원격 서버에서 다른 원격 서버로 파일과 폴더를 복사하는 방법은 무엇입니까?

  16. 16

    asp.net의 폴더에서 파일 다운로드

  17. 17

    WinSCP .NET SynchronizeDirectories가 원격 폴더에서 제거 된 후 로컬 파일을 삭제하지 않습니다.

  18. 18

    gradle의 한 폴더에서 다른 폴더로 파일 복사

  19. 19

    gitlab 저장소에서 단일 폴더 또는 파일을 다운로드하는 방법

  20. 20

    하나의 Linux 서버에서 다른 Linux 서버로 파일 또는 폴더를 복사하는 방법

  21. 21

    폴더 2에 파일이없는 경우 폴더 1에서 폴더 2로 파일 이동

  22. 22

    한 폴더에서 다른 폴더로 파일을 이동하는 동안 IOException

  23. 23

    원격 서버의 폴더 구조로 이동

  24. 24

    앱에서 CSV 또는 TXT 파일을 생성하고 '다운로드'폴더에 저장-Android

  25. 25

    쿼리 : rsync-원격 서버에서 원격 서버로 로컬 폴더 복사

  26. 26

    한 폴더에서 다른 폴더로 파일 이름 복사

  27. 27

    한 대상 폴더에서 다른 폴더로 파일 복사

  28. 28

    프로토콜 오류 : 원격 서버에서 로컬로 폴더 / 파일을 전송하려고 할 때 mtime.sec가 없습니다.

  29. 29

    CMD 또는 Batch를 사용하여 여러 파일을 하위 폴더에서 하나의 폴더로 이동

뜨겁다태그

보관