2013-08-28 4 views
-1

이미 this question을 보았지만 제대로 작동하지 않았습니다.PHP - 확장명을 모른 채 파일이 있는지 확인하십시오.

내가해야할 일은 확장명을 모른 채 PHP에 파일이 있는지 확인하는 것입니다. 이 코드를 사용

<?php 
if (count(glob("/database/".$_REQUEST['thetitle'].".*")) == 0) { 
echo 'true'; 
} else { 
echo 'false'; 
} 
?> 

편집 : 어쩌면 그것은 스크립트가

[root]/functions/validatefilename.php 

에있는 데이터베이스

[root]/database/ 

에 있음을 말하는 관련이하지만 항상 false를 반환 , 파일 이름 ($_REQUEST['thetitle'])이 무엇이든 상관 없습니다. 시도

+0

을 나는 당신의 파일에 의심'/ 데이터베이스/...' . 그게 바로 디스크의 뿌리입니다! * – deceze

+0

맞아, 잊어 버렸어. HTML에서'/ database /'는 내 도메인의 루트에있는 폴더입니다. 그렇다면 PHP에서 어떻게 할 것입니까? – Isaiah

+1

* HTML의 URL *은 현재/루트 * URL *에 상대적입니다. * 로컬 파일 경로 *는 파일이 디스크에있는 위치/디스크 루트에 상대적입니다. PHP는 URL을 신경 쓰지 않습니다. URL은 로컬 파일 경로와 관련이 없으며 반대의 경우도 마찬가지입니다. – deceze

답변

2

: 그것을 제외하고 잘 작동처럼

count(glob("./database/".$_REQUEST['thetitle'].".*")) 
+0

여전히 – Isaiah

+0

(glob ("../ database /".$_ REQUEST [ 'thetitle']. * ")) –

+0

수를 작동하지 않으며 데이터베이스 폴더에 대한 권한이 맞습니까? [http://www.php.net/glob](http://www.php.net/glob) –

1

나에게 보이는 전체 경로를 지정해야 함 :

if (count(glob("/path/to/" . "database/" .$_REQUEST['thetitle']. ".*")) == 0) { 
+0

을 사용했다. 루트 이후에, website.com/database/ – Isaiah

+0

과 같이 전체 경로를 명시 적으로 매핑해야 할 수도 있습니다. – XaxD

+0

'$ thevar = glob ("http://www.daltonempire.nl/database/Hello.*")을 사용해 보았습니다. ; echo ' "' '; print_r ($ thevar); echo'" ';''나는 "Hello.png"라는 파일을 거기에 넣었지만 여전히 "" – Isaiah

관련 문제