2011-05-11 4 views
-1

는 내가 file_exists 기능 ... 를 사용하여 검사해야하지만, 내가 그PHP에서 파일 경로를 얻으려면 어떻게해야합니까?

if (file_exists('http://horabola.com/imagens/dt_2845.jpg')) { 
    //code 
} 

가 작동하지 않습니다 같은 것을 사용하는 경우 ...

내가 알고 난 확신 해요 파일 "dt_2845.jpg"는 "imagens"폴더에 있습니다 .... 지금 어떻게 확인합니까? 서버의 파일 경로는 어떻게 얻습니까?

+2

당신의 서버 또는 다른 웹 사이트에있는이 그림은 무엇입니까? –

+0

HTTP 스트림 래퍼는'file_exists'가 속한 함수의 stat() 패밀리를 지원하지 않습니다. [도움말의 팁 상자] (http://de2.php.net/manual/en/function.file-exists.php)와 언급 된 링크를보십시오. – Gordon

답변

3

시도 :

if (file_exists($_SERVER['DOCUMENT_ROOT'].'/imagens/dt_2845.jpg')) { 
    //code 
} 

행운

0

URL에 대한 서버의 파일 시스템 경로는 /를 $_SERVER['DOCUMENT_ROOT']predefined variable에 저장됩니다.

현재 스크립트의 경로는 항상 __FILE__ 상수에 저장됩니다.

dirname(__FILE__); 

을 사용하면 현재 스크립트의 파일 시스템 경로를 알 수 있습니다. 당신이 호출하여 시도 무엇

:

HTTP를 통해 열려있는 파일입니다
file_exists('http://horabola.com/imagens/dt_2845.jpg'); 

가 (이 지적 주셔서 감사합니다 @Gordon) 대신 file_exists의 fopen()()의 사용을 필요로하고 당신이 필요하여 PHP 서버, fopen()에 대한 소위 URL 래퍼. 어쨌든 HTTP 프로토콜을 사용하여 runnning 스크립트와 동일한 서버에서 파일을 열면 성능 낭비가 약간 있습니다 (하드 디스크 대신 네트워크 인 HTTP를 사용하면 10 배에서 1000 배 빠름).

+0

'file_exists' 및 URL에 대한 질문 아래의 내 의견을 참조하십시오. – Gordon

관련 문제