2013-08-08 2 views
1

파일이있는 경우 해당 파일을 포함하려고합니다. 파일이 존재하지 않으면 다른 파일을 포함하고 싶습니다.php 파일이있는 경우 다른 파일을 포함하지 않는 경우 파일을 포함하십시오.

올바르게 작동하는 것처럼 보이는 다음 코드가 있습니다. 내 코드의 유일한 문제점은 파일이 존재하면 둘 다 표시된다는 것입니다.

이 /'.$ 미래를 포함

경우 난 단지 article.php에게/

포함 포함하고 싶습니다. '. PHP

존재하지 않습니다.

이 /'.$ 미래를 포함하는 경우

. '

내가 포함하지 않는 존재한다. PHP

은/article.php

을 포함
<?php 
$page = $_GET['include']; 
if (file_exists('include/'.$future.'.php')){ 
    include('include/'.$future.'.php'); 
} 
else{ 
    include('include/article.php'); 
} 
?> 
+2

'$는 내용의 얻을 future' 에서? 지금 당장은 비어 있고 "include/.php"파일이 없어야합니다. – Sven

+0

로직이 소리가 나기 때문에'article.php'을 다른 곳으로 포함해야합니다. – Phil

+0

@ $ 미래가 효과가있는 문제는 아니지만 문제는 내가 동시에 포함하고 싶지 않다는 것입니다. 하나 또는 다른. – mally

답변

2

$ future 변수가 정의되지 않았으므로 어떻게 포함됩니까? 나는 $ page와 $ future가 같은 변수라는 것을 의미한다고 생각합니다. 또한 get 요청에 사용자가 지정한 파일을 포함하는 것은 처음부터별로 의미가 없지만 보안 위험 일 수도 있습니다.

+0

$ future는 다른 곳에 정의되어 있고 파일을 포함하고 있습니다. 문제는 두 파일 모두를 sametime에 포함하고 싶지 않습니다. 하나 또는 다른. – mally

+0

그 다음 문제는 게시하지 않은 코드의 일부일 가능성이 높습니다. – developerwjk

+0

@mally * "$ future는 다른 곳에 정의되어 있습니다."* 그런 다음 질문에 전체 코드를 포함하십시오. 우리 중 누구도 마음을 읽을 수있는 능력이 없습니다. –

0

아마도 이것이 필요한 것일까요?

당신이 변수를 사용합니다 전에 당신이 사용하는거야 어떤 변수가 정의되어 있는지 확인 ... 변수를 수행

<?php 
$page = ''; // show emptyness is there is nothing dome below 
$page = isset($_GET['include']); // Do you have a variable in your URL that IS called "include" and is the include variable set? for example: http://www.example.com/index.php?include=....... you might want to check for empty value and write a default value as well but I didn't here ;) 
// REMEMBER: $future must be defined BEFORE this line! 
if (file_exists('include/' . $future . '.php') && is_file('include/' . $future . '.php')){ // file exists on server: true/false and is it a file or a directory? If Directory it will NOT be included as I used is_file()! 
    include('include/' . $future . '.php'); 
    }elseif{ 
     (file_exists('include/article.php') && is_file('include/article.php')){ 
      include 'include/article.php'; 
     }else{ 
      echo 'WOW, No article found! You just found a error...<br />We will repair all errors ASAP! Thank you for visiting us...'; 
     } 
?> 
관련 문제