2013-08-08 2 views
0

웹 응용 프로그램간에 파일을 전송하고 싶습니다. 응용 프로그램 A가 파일 서버와 같은 경우를 가정 해 보겠습니다. 응용 프로그램 B가 사용자입니다.한 Yii 컨트롤러에서 다른 Yii 컨트롤러로 파일을 보내는 방법

때때로 응용 프로그램 B는 스크립트를 업데이트해야합니다. 그리고 응용 프로그램 B에서 업데이트 된 스크립트를 가져옵니다.

응용 프로그램 A의 Yii 컨트롤러가 파일을 읽고 응용 프로그램 B로 보낼 ​​수 있습니까?

URL을 열고 파일을 가져 오는 데 fopen을 사용할 수 있다고 상상합니다. 그러나 컨트롤러가 파일을 반환하도록 만드는 방법은 무엇입니까?

+0

@Ninad, 내가 시도한 것은 B에서 공용 임시 폴더를 사용하는 것입니다. 따라서 A는 fopen을 사용하여 가져올 수 있으며 A에서 이전 스크립트를 바꿀 수 있습니다.이 방법은 안전하지 않다고 생각합니다. 컨트롤러간에 전송하는 것이 더 안전하다고 생각합니다. – fasisi

+0

응용 프로그램 A와 B가 서로 다른 서버에 있습니까? – ethan

+0

B에서 개발하고 A (production?)를 커밋하려면 rsync를 사용하십시오. B에서 A에 대한 스크립트를로드하려면 config에서 가져옵니다. 파일에 대한 작업을 위해 web - make 모델에서 A에 대한 변경 사항을 입력하고 CMap :: mergeArray를 시도하십시오. – ineersa

답변

0

글쎄, 내가해야 할 일은 응용 프로그램 A의 컨트롤러에서 응용 프로그램 B가 다운로드 할 파일을 읽고 출력하는 작업을 설정하는 것입니다. 이를 수행하는 방법에 대한 예제는 여기에서 확인하십시오. http://php.net/manual/en/function.readfile.php

응용 프로그램 B 개인적으로 응용 프로그램 A에 사용자 이름과 암호를 전달하여 다운로드를 제한 할 수 있으므로 파일을 다운로드 할 때 개인적으로 CURL을 사용합니다. 이 링크는 파일 Downloading a large file using curl을 다운로드하는 CURL 요청을 작성하는 몇 가지 예를 제공합니다.

여러 파일을 다운로드하려면 다음 두 가지 중 하나를 수행해야합니다. 1) 다운로드하려는 응용 프로그램 A의 파일에 해당하는 응용 프로그램 B의 파일 이름 배열을 반복하거나 2) 응용 프로그램 A의 파일을 열고 응용 프로그램 B http://php.net/manual/en/book.zip.php에서 다운로드 한 파일의 압축을 풉니 다.

관련 문제