2011-03-08 4 views
2

이미지 높이와 크기를 판단하는 데 getimagesize을 사용합니다.PHP로 문제가 발생했습니다. getimagesize (공백 문제로 URL 인코딩)

URL에 공백이 있으면 getimagesize 에코 오류입니다. 나는 모든 URL 주소를 전송하기 위해 urlencode()을 사용해 보았지만 여전히 오류를 반환합니다. 공간을 %20으로 변경하면 getimagesize이 잘 돌아갑니다.

나는 이유를 모른다. 나는 또한 피곤 $newurl = preg_replace(' ', '%20', $url);를 사용하는

그것은 echo'ed :

Warning: preg_replace() [function.preg-replace]: Empty regular expression 

을 어떻게에 preg_replace 올바르게. 그리고 가능한 모든 테스트 케이스를 통과 할 수 있도록 getimagesize으로 URL을 올바르게 전송할 수있는 방법이 있습니까?

감사

답변

3

당신은 당신이를 urlencode를 사용하려고 할 때 일부 예제 코드를 게시 할 수 대신

+0

바로 'str_replace' – cj333

3

urldecode() 당신이 이미지를 처리하기 전에이를 변환 한 후 다시 모든 문자를 해독하는 데 사용할 수있는 기능입니다. 그것을 통해 URL을 포함하는 문자열을 실행하십시오.

0

preg_replace(' ', '%20', $url);str_replace(' ', "%20", $url)를 사용해야합니까? 또한 마지막 비트에는 preg_replace를 사용할 필요가 없으며 단순히 str_replace를 사용할 수 있습니다.

1

파일 이름에만 공백이 있으면 rawurlencode()를 사용할 수 있습니다.

$url = dirname($url) . '/'. rawurlencode(basename($url)); 
관련 문제