2012-05-08 1 views
1

is_file 나는 코드의이 비트를 준비했습니다, 당신이 볼 수 있듯이 나는 내 이미지 경로 변수가 매력처럼 작동 갖는 file_exists와 문제 및

//prepare the image file path that includes the isbn in the file name 
    $imageFilePath = '"./data/images/' . $book[0] . '.jpg"'; 

      // Debugging 
    // $var = "==>" . file_exists($imageFilePath) . "<==is it true?"; 
    // $str .= $var; 
    // //tests if file is NOT there, if it isn't the imagepath reflects the default image 
    // if (file_exists($imageFilePath) == false){ 

     // $imageFilePath = '"./data/images/default.jpg"'; 
    // } 

가, 지금 내가 원하는

내 문제 영역을 주석 처리했습니다 파일이 없으면 기본 이미지를 사용합니다. if 문에서 주석을 제거하면 모든 이미지가 기본 이미지가됩니다.

is_file 및 file_exists를 사용해 보았습니다. 또한 $ var 변수를 사용하여 결과를 캡처하려고 시도하는 것을 볼 수 있습니다. ==>와 < == 사이에는 공백이 없습니다.

저는 프로그래밍을 배우기 시작했습니다. 일반적으로 여기저기서 또는 인터넷을 사용하여 디버깅 할 수 있습니다. 솔루션을 찾을 수 없습니다.

모든 도움을 많이 감사, 감사

답변

1

당신은 받아 file_exists explaination 및 인수에 대한 그

$imageFilePath = "somethingToCheck"; 
$imageFilePathDefault = "somethingDefault"; 
$imageFilePath = file_exists($imageFilePath) ? $imageFilePath : $imageFilePathDefault; 

과 같은 작업을 수행 할 수 있습니다 사전에, 세 번째의 경우를 살펴 here

를 확인하시기 바랍니다 코드의 행을 다음과 같이 해석해 봅시다.

if(file_exists($imageFilePath)) 
$imageFilePath = $imageFilePath; //confirm that is valid 
else 
$imageFilePath = $imageFilePathDefault; //change to default 

편집 편집 한 후, 나는 따옴표 제거 경로

+0

들으을/다른 완벽 – carlitto

+0

@carlitto을 일 경우 : 첫 번째는 더 컴팩트 우아한); – DonCallisto

+0

당신은 설명 할 수 있습니까? 그리고 : 사용법, 아직 보지 못했음 – carlitto

1

에서 더블 할당량을 제거하는 것이 좋습니다 :

$imageFilePath = './data/images/' . $book[0] . '.jpg'; 
+1

예, 작동하지 않는 경우 파일 경로가 잘못되었을 수 있습니다. 이 경우 코드에 하드 파일 경로를 넣으십시오 (예 :'/ home/user/data/images/book.jpg'). 또한 디버깅을 위해'var_dump' 또는'print_r'을 사용할 수 있습니다. 부울 값을 반향하려는 것보다 유용한 정보를 얻을 수 있습니다. – Daan

+1

'print __DIR__. '/ data/images /'. $ book [0]. '.jpg';'PHP가 찾고있는 곳을 볼 수 있습니다 (또한 include 경로 참조). – Xeoncross

+0

Thx, 큰 따옴표는 문제가 아니지만 var_dump를 살펴볼 것입니다. 방금 print_r을 발견 했으므로 아직 자연이 아닙니다. 너의 도움을위한 Thx – carlitto