2012-02-19 6 views
0

현재 프로필 사진의 미리보기 이미지를 생성하는 데 phpthumb을 사용합니다. http://phpthumb.gxdlabs.com/phpthumb을 사용하는 것이 가장 좋습니다.

이 내 현재의 방법이다 : 그것은 당신의 코드에서 텍스트의 큰 숫자를 생성하기 때문에 때문에베이스 64에

<?php 
$path_to_profile_pic = '../icons/default.png'; 
$profile_pic = file_get_contents('icons/default.png'); 
$small_profile_pic = PhpThumbFactory::create($profile_pic, array(), true); 
$small_profile_pic->adaptiveResize(25, 25); 
$small_profile_picAsString = $small_profile_pic->getImageAsString(); 
?> 
<img src="data:image/png;base64,<?php echo base64_encode($small_profile_picAsString); ?>" width="25" height="25" /> 

그러나,이 매우 느립니다. 축소판을 생성하는 데 phpthumb을 사용하는 가장 좋은 방법은 무엇입니까?

편집

는 더 많은 공간을 소비하는 것이기 때문에 다른 이미지를 저장하지 않고 그것을 할 수있는 방법이 있나요?

답변

2

언제든지 업로드/생성시 이미지 축소판 이미지를 생성하는 것이 좋습니다. 필요에 따라 PHP 스크립트를 통해 이미지를 제공하는 것이 좋습니다. 생성 된 파일을 PHP를 사용하여 파일 시스템에 캐시 할 수 있지만 아파치를 사용하는 것보다 훨씬 느립니다. 방법이 있나요

<?php 
$path_to_thumb_pic = '../icons/default_thumb.png'; 
if (!file_exists($path_to_thumb_pic)) { 
    $path_to_profile_pic = '../icons/default.png'; 
    $profile_pic = file_get_contents('icons/default.png'); 
    $small_profile_pic = PhpThumbFactory::create($profile_pic, array(), true); 
    $small_profile_pic->adaptiveResize(25, 25); 
    $small_profile_pic->save($path_to_thumb_pic); 
} 
?> 

<img src="<?php echo $path_to_thumb_pic; ?>" width="25" height="25" /> 
+0

: 당신이 업로드에 작은 이미지를 만들 수없는 경우

는/당신은 파일 시스템에 축소 미리보기를 캐싱 및 이후의 모든 요청에 ​​대해 그들을 제공하여 현재 구현을 최적화 할 수 있습니다 만들 더 많은 공간을 소비하기 때문에 다른 이미지를 저장하지 않고 그것을 할 수 있습니까? –

+0

@MicoAbrina 디스크가 아니면 다른 장소는 memcache의 일종의 메모리입니다. 그러나 디스크 공간에 관심이 있다면 메모리가 부족하다고 생각합니다. 디스크 공간은 지금 가장 저렴한 하드웨어 자원입니다. 정말 문제입니까? –

+0

내 웹 사이트의 프로필 사진에 사용하고 있습니다. 이 문제는 프로필 사진이 변경되면 시스템에서 다른 미리보기 이미지를 생성하는 방법을 알 수 있습니까? –