지난 주에 나는 이미지 파일을 가리키는 PHP 스크립트를 사용하여 이미지를 제공하기 위해 내 페이지 img src 값을 변환했습니다. 주된 이유는 파일과 데이터베이스 BLOB를 실제 소스로 사용할 수 있기 때문입니다.Image IIS의 PHP 스크립트에서 SRC가 일관되게 표시되지 않습니다.
사용자가 페이지로 이동할 때 이미지가 표시되거나 때로는 표시되지 않는 경우가 있습니다. 그렇지 않은 경우 페이지를 새로 고치고 \ 다시로드하면 이미지가 나타납니다. 이미지가 나타나지 않으면 사용자가 이미 이전에 이미 액세스 한 이미지입니다.
나는 혼란 스럽습니다. 다음,
이<img src="../somedir/image_script.php?i=1234">
image_script.php 파일이 곳에서 이미지를 얻을 파악과 함께 완료 : 여기
는 img 태그입니다header("Content-type: image/jpeg");
if($from_db){
print $image_blob;
} else {
$im = imagecreatefromjpeg($image_file);
imagejpeg($im,null,100);
imagedestroy($im)
}
내가 PHP 5.2.8을 사용하고 있습니다 FastCGI를 사용하는 IIS 6에서. image_script.php 파일이나 디렉토리에 캐시 헤더가 없습니다. 현재 이미지의 99.9 %가 파일 기반이므로 db 기반 이미지와 파일 기반 이미지 사이에 결과가 다른지는 알 수 없습니다 . 내 브라우저에서 직접 image_script.php로 이동하면 요청한 이미지 (i = ????) 100 %를 반환합니다.
> 이미지가 표시되는 이유는 무엇입니까? 및
b> PHP 스크립트에서 제공하는 이미지를 실제로 캐시하는 적절한 방법은 무엇입니까?
- 스콧
매트는 ReadFile을에 우수 제안. 나는 데이터베이스 부분을 추가하는 데 집중하여 파일 부분을 돌진했다. 훌륭한 테스트를 거친다 - 프로덕션 서버에서 핵심 문제가 수정되었는지 확인해야한다. – menkes
차가움. 희망적으로 도움이 될 것입니다. 가끔씩 메모리 부족 현상이 발생한다면 readfile이 메모리 집약도가 적어지고 CPU가 더 가볍기 때문에 가끔씩 수행해야합니다. –