仅在包含文件时执行文件

时间:2013-12-12 08:22:03

标签: php

如果只包含文件,我怎么能编写php文件来执行。例如,在此表单中,它将不会运行(或将被重定向到另一个页面):

www.example.com/file.php

以这种形式运行:

<?php
include 'file.php';
?>

这可能吗?

2 个答案:

答案 0 :(得分:2)

将保护表达式添加到包含文件的开头,因此如果您有这两个文件:

  1. included.php
  2. 的index.php
  3. 的index.php

    <?php
    $runningFileName = "index.php"; 
    include("included.php");
    ?>
    

    included.php

    <?php 
    if( empty( $runningFileName ) ) die("Cannot access this page directly");
    ?>
    

答案 1 :(得分:1)

您可以在主文件中定义常量并在包含的文件中进行检查。

的index.php

<?php
define('IN_INDEX', true);
include __DIR__ . '/included.php';

included.php

<?php
if (!defined('IN_INDEX')) {
    redirect();
}