2009-09-30 2 views
0

나는 특정 요소에 기반한 이미지를 자동으로 표시하는 PHP 스크립트를 만들고있다. (그 부분은 완벽하게 작동하기 때문에 문제가되지 않는다.) 브라우저에서 나는 이미지를 테스트 한 결과 Google 크롬, Internet Explorer 및 Safari에 이미지가 올바르게 표시됩니다. 그러나 Firefox 또는 Opera에는 표시되지 않습니다. Firefox에서는 아무 것도 표시되지 않고 Opera에서 이미지의 경로는 http://server/folder/%5Cimages%5C40.jpg이며 http://server/folder/images/40.jpg이어야합니다. 다음과 같이 URL을 생성하는 데 사용되는 코드는 다음과 같습니다 루트()와 JPATH_ROOT 서버의 절대 위치를 제공문자열과 변수로부터 URL을 형성하기

echo "<div class='jumih3'>" . $row['fname'] . " " . $row['lname'] . "</div>"; 
$image = JURI::root() . "\/images\/" . $row['id'] . ".jpg"; 
$imagetest = JPATH_ROOT . "\/images\/" . $row['id'] . ".jpg"; 
if (file_exists($imagetest)) 
{ 
echo "<br /><img src='" . $image . "'width='100' height='100' /><br />"; 
} 

이것은 줌라 사이트와 JURI의 일부입니다. 오페라가 내가 슬래시를 벗어나는 방식으로 뭔가 의심스러운 URL을 구문 분석하는 방식. 그러나/대신에 /을 사용해 보았을 때 이미지가 어떤 브라우저에도 나타나지 않았습니다.

편집 : Zannjaminderson의 대답에서 알 수 있듯이이 문제는 facepalm 방식으로 수정되었습니다.

+0

% 5C는 '\'문자의 URL 인코딩 값입니다. 어떤 플랫폼을 실행하고 있습니까? Windows 또는 Linux? –

+0

나는 현재 Windows에서 실행 중이지만 사이트가 Linux에서도 작동하기를 원합니다. –

답변

0

원한다면 noob이라고 부르지만 file_exists ($ imagetest)를 테스트하고 $ image를 이미지의 소스로 사용하고 있음을 확인했습니다. 테스트 한 이미지를 사용해서는 안됩니다/당신이 사용하고있는 것을 테스트하고 있습니까?

+0

Greg는 로컬 파일 시스템을 테스트하여 파일이 있는지 확인한 다음 공용 URI를 전달합니다. –

+0

제 생각에 JURI : ROOT()는 루트 URI를 제공하고 JPATH_ROOT는 응용 프로그램의 루트 주소를 제공하므로 그렇게 설정했습니다. –

+0

내 사고 과정을 더 잘 설명 할 것입니다. ;) –

0

슬래시를 벗어날 필요가 없습니다. 언제/어떤 종류의 주소가 각 이미지에 대해 사용합니까? 어떤 플랫폼?

+0

http : //server/folder/%5Cimages%5C40.jpg를 생성하고 /을 사용하여이 문제를 해결할 수있었습니다. –