2013-07-18 3 views
2

Laravel 4에 작은 CMS를 작성했으며 Wamp를 사용하여 작업했습니다. 응용 프로그램은 www 폴더에 있었고 모든 것이 잘 작동했습니다. 개발이 끝나면 응용 프로그램을 라이브 서버로 옮겼으며 응용 프로그램을 내 호스트 (public_html 폴더)의 root 폴더에 넣었습니다. 일부 파일에서 일부 파일이 있는지 확인하고 있습니다. Wamp에있는 동안 모든 것이 작동했지만 지금은 file_exists()이 항상 false을 반환합니다. 파일이 저장되는 폴더의 폴더 사용 권한은 755로 설정되고 파일은 동일한 사용 권한을가집니다.File_exists는 laravel에서 항상 false입니다. 4

나는 이미 clearstatcache()을 시도했으며 안전 모드는 PHP 5.4에서 제거 되었기 때문에 문제가 될 수 없습니다. 다른 아이디어?

if(file_exists('public_html/repo/images/testimage.jpg')){ 
    //do something 
} 
else{ 
    echo "error"; 
} 

내가 여러 번 확인했다, 나는 URL을

+0

'safe_mode_include_dir'을 사용하여 안전 모드를 끄시겠습니까? 또한,'ls -l/home/user/public_html/root /'그리고 출력을 질문에 추가하십시오. –

+0

파일의 경로가 다르거 나, 사용하지 말아야 할 때 앞에'/'를 사용하거나 사용하지 말아야 할 때 생략했을 수도 있습니다. 몇 가지 코드를 게시 할 수 있습니까? –

+0

'safe_mode_include_dir'은 이미 '값 없음'에 있습니다. PHP 5.4라고 생각하고 5.3.26입니다. 안전 모드가 꺼져 있습니다. 또한 위의 샘플 코드를 추가했습니다 –

답변

4

잘 통해 액세스하려고하면 파일이 존재 않습니다, 먼저 당신이 WAMP하다고 말했습니다, 그것은 폴더 uppercases을 가지고 있다고 할 수있다. 리눅스가있는 동안 windows는 폴더에 대해 대소 문자를 구분하지 않는다는 것을 기억하십시오.

둘째로, laravel의 index.php 파일은 어디에 있습니까? file_exists()가를 기준으로, (그것은 public 폴더에 generaly의), 그래서 설치 인 경우 : 그래서, 공용 액세스 외부의 파일을 유지하도록 설계 file_exists('repo/images...');

Laravel : public_html/public/index.phprepo/images 당신은 확인해야 public 폴더에 public 폴더의 모든 내용을 public_html으로 이동하면서 larvel의 파일과 폴더를 루트 /에 넣는 것이 좋습니다. 이렇게하면 public_html 폴더에 상대적으로 파일 존재 여부를 확인할 수 있습니다.

file_exists('repo/images...'); 
file_exists('../app/views/hello.blade.php'); 
... 
+0

모든 것이 루트에 있고 기본적으로 내 'public' 폴더는'public_html' –

+0

이므로 –

+0

경로에'public_html '을 포함하지 마십시오. 그게 효과가 있었어. –

관련 문제