2011-08-05 13 views
0

이미지 호스트를 개발 중이며 웹 콘텐츠 (예 : http://mysite.com/uploads 대신 http://i1.mysite.com)와 별도의 서버에 이미지를 업로드하고 싶습니다. 하지만 그 일을하는 방법을 알아 내는데 어려움을 겪고 있습니다.다중 서버로 호스팅되는 이미지

내가이 양식을 말해봐 :

내가 파일을 확인하고 저장할 수 있습니다 /upload에 이미지 파일을 보내드립니다
<form action="http://mysite.com/upload" method="post" accept-charset="utf-8" enctype="multipart/form-data"> 
    <input type="file" name="image" id="file_upload" /> 
    <input type="submit" value="Upload" id="upload_submit" /> 
</form> 

있지만, 웹 사이트 호스팅 될 때 그 같은 서버에있을 것입니다, 전용 스토리지 서버가 아닌 웹 사이트와 동일한 서버에 이미지를 업로드하지 않고 원하는 것을 어떻게 얻을 수 있습니까? 난 항상 할 수

가 할 : 이미지 업로드 내가 http:/i1.mysite.com/upload로 리디렉션 것 완료되면 다음 다른 서버로 이미지 파일을 보내지 만 것이다

<form action="http://i1.mysite.com/upload" method="post" accept-charset="utf-8" enctype="multipart/form-data"> 
    <input type="file" name="image" id="file_upload" /> 
    <input type="submit" value="Upload" id="upload_submit" /> 
</form> 

.

누구나이 경험이 있으며 행동 방침을 권장 할 수 있습니까? 고맙습니다!

답변

1

이미지 서버에 업로드하지 마십시오. 이러한 콘텐트 별 서버는 콘텐트를 제공하기 위해 최적화되어야하며 콘텐트 소비에 대처할 필요가 없습니다.

업로드 양식을 기본 사이트의 서버로 보냅니다. 그런 다음 다른 프로토콜을 사용하여 업로드 된 파일을 이미지 서버로 전송할 수 있습니다. rsynch, scp 등등 ... 이런 식으로 모든 "제어"코드를 한 곳에서 가지고 있으며, 여러 서버 사이의 데이터베이스와 기타 등등을 걱정할 필요가 없습니다. 모든 데이터는 주 서버에 보관되며, 이미지 서버는 이미지 데이터를 수동적으로 빠져 나간다.

0

나는이 두 가지 아이디어를 분리하는 것이 좋습니다. 먼저 이미지를 서버에 업로드하고 별도의 프로세스 (예 : 예정된 cron)에서 이미지를 다른 서버로 이동합니다. 사용자가 두 번의 업로드가 끝나기를 기다리는 것을 원하지 않을 것입니다.

0

다른 사람들이 말했듯이, 당신이하려는 것은 최적이 아닙니다. 이 작업을 계속하고 싶다면 양식을 PHP 스크립트에 제출하여 처리하고 필요한 위치에 파일을 저장 한 다음 필요한 정보를 데이터베이스에 저장하는 것이 좋습니다. 한 서버에서 다른 서버로 데이터를 전송할 때 최상의 프로토콜을 평가해야합니다. 당신은 아마 당신이에 대한 herehere뿐만 아니라 curl docs

+0

모든 것을 PHP 스크립트에 제출하여 모든 것을 나눠주는 양식을 추가해야합니다. – user1934587390

0

당신은 당신의 이미지 호스트에 이미지를 업로드 할 수 배울 수있는 컬을 사용하게하고, 그 이후에 다시 웹 사이트에 리디렉션해야합니다. 이 작업을 수행하는 한 가지 방법은 폼에 숨겨진 "성공"및 "실패"URL 입력을 추가하는 것입니다 :

<form action="http://i1.mysite.com/upload" method="post" accept-charset="utf-8" enctype="multipart/form-data"> 
    <input type="file" name="image" id="file_upload" /> 
    <input type="submit" value="Upload" id="upload_submit" /> 
    <input type="hidden" name="success" value="http://mysite.com/success" /> 
    <input type="hidden" name="failure" value="http://mysite.com/failure" /> 
</form> 

이미지 호스트에 업로드 스크립트는 다음 업로드에 성공한 후 제공되는 URL로 리디렉션 것 :

<?php 
    .. handle uploaded file .. 

    if ($success) { 
     header ('Location: ' . $_REQUEST ['success']) ; 
    } 
    else { 
     header ('Location: ' . $_REQUEST ['error'] . '?message=' . $message) ; 
    } 

?> 
관련 문제