2013-02-13 2 views
0

사용자가 페이스 북/트위터 프로필 사진을 아바타로 업로드 할 수있게하고 싶습니다. 그들의 토큰/비밀과 함께 레코드를 DB에 삽입합니다. 나는 사용자의 ID를 얻고 readfile()을 사용하여 프로필 이미지를 표시하는 스크립트를 만들었지 만이 이미지를 30 분 동안 캐시하려고합니다. codeigniter로 이것을 가능합니까?캐시 facebook/twitter 프로필 이미지

+2

왜 이미지를 캐시합니까? Facebook 사용자 ID 만 저장하고 URL을 사용하여 이미지를 가져옵니다. 사용자가 프로필 사진을 변경하면 업데이트 된 사진이 표시됩니다. http://graph.facebook.com/userID/picture – Nimrod007

+0

내 질문을 편집했습니다. 사용자가 트위터 프로필 사진 및 트위터 API 호출을 업로드하도록 허용하는 것은 속도가 제한되어 있다고 생각하여 이미지를 캐시하려고합니다. – lam3r4370

+1

@ N.L.telaviv - 공정한 점이지만 한 번에 한 페이지에 100 개의 프로필 이미지를 가질 수있는 사이트에 대한 의견 시스템과 같은 pinterest를 작성한다고 가정 해보십시오. 느린 엉덩이 페이 스북 (Facebook API)에 대한 요청이 많습니다. – Jeemusu

답변

3

비록 코드 서명자가 아니지만 ... 내가 만든 사이트에서 - 사용자가 페이스 북으로 로그인하면 file_get_contents와 비슷한 것을 사용하여 파일을 다운로드합니다. 그런 다음 이미지의 MD5와 함께 로컬 참조를 저장합니다 데이터가 있습니다. 다음에 프로필이 다음에 요청 될 때 로컬 저장소를 업데이트해야하는지 여부를 쉽게 확인할 수 있습니다 (서버에서 페이스 북으로 다시 다운로드해야 함)

다른 경우에는 페이 스북 보고서, 그래서 우리는 HTTP 헤더 요청을 쉽게 변경할 수 있는지 확인합니다 (나는 크기가 이미지의 변화와 직접적으로 관련이 없다는 것을 알고 있습니다. 그러나 99.9 %의 시간이 좋은 표시입니다.)

+0

질문을 편집 한대로. 내 대답은 여전히 ​​유효하며 사용자가 다른 소스 (MD5 해시 버전 만)에서 동일한 이미지를 여러 번 업로드하려고 시도 할 때도 인식 할 수 있습니다. – dotbill

+0

크기를 확인하기 위해 API 호출을해야합니다. – lam3r4370

+0

글쎄 그렇습니다 - 그밖에 어떻게 변했다고 말할 수 있습니까? 또한 이미지 다운로드 등의 API 호출은 고객의 경험이 느려지는 것을 피하기 위해 클라이언트 웹 요청 외부에서 수행해야합니다. – dotbill