Как Запретить запуск страницы php

Тема в разделе "Как сделать...", создана пользователем oss0611, 15 фев 2015.

  1. oss0611

    oss0611 Постоялец

    Регистр.:
    31 июл 2011
    Сообщения:
    100
    Симпатии:
    39
    Как можно запретить запуск index.php есле отсутсвует фаил key.php чтоб была там ошибка что нет файла key.php
     
  2. qpPeW

    qpPeW Постоялец

    Регистр.:
    5 окт 2009
    Сообщения:
    79
    Симпатии:
    31
    Подключить файл key.php и сделать его проверку с помощью file_exists.
    PHP:
    if (file_exists(key.php)) {
        include 
    'key.php';
    } else {
        echo 
    "Файл key отсутствует.";
    }
     
  3. oss0611

    oss0611 Постоялец

    Регистр.:
    31 июл 2011
    Сообщения:
    100
    Симпатии:
    39
    скажи пожалуста а можно ли сделать чтоб фаил из другой папки не мог запустица например из /admin/login/index.php
    а key будет в корне сайта

    я понимаю но как заблокировать фаил в под папке
     
    Последнее редактирование модератором: 27 фев 2015
  4. efs

    efs SEO оптимизатор дискрипторов одностраничных сайтов

    Moderator
    Регистр.:
    20 ноя 2009
    Сообщения:
    832
    Симпатии:
    489
    приведенный код подразумевает, что искомый файл key.php должен находится в той же директории, что и файл, который делает проверку. если вы хотите делать проверку на наличие файла находящегося в другой директории, то в коде указываете полный путь к нему относительно корня сервера, например
    Код:
    /www/user/domain/my_directory/key.php
     
  5. oss0611

    oss0611 Постоялец

    Регистр.:
    31 июл 2011
    Сообщения:
    100
    Симпатии:
    39
    я правельно понимаю так должно быть

    PHP:
    if (file_exists(key.php)) {
     include 
    '/www/user/domain/my_directorykey.php';
    } else {
     echo 
    "Файл key отсутствует.";
    }
     
    Последнее редактирование модератором: 27 фев 2015
  6. qpPeW

    qpPeW Постоялец

    Регистр.:
    5 окт 2009
    Сообщения:
    79
    Симпатии:
    31
    Все верно, но я бы это сделал вот таким макаром
    PHP:
    $file_key $_SERVER['DOCUMENT_ROOT'].'/dir/key.php';

    if (
    file_exists($file_key)) {
        include 
    $file_key;
    } else {
        echo 
    "Файл key отсутствует.";
    }
     
  7. oss0611

    oss0611 Постоялец

    Регистр.:
    31 июл 2011
    Сообщения:
    100
    Симпатии:
    39
    чето у меня не получается пишет что нет файла а дальше и дет стандартное выполнения скрипта

    может в коде что не так

    PHP:
    <?php
    $file_key 
    $_SERVER['DOCUMENT_ROOT'].'/key/key.php';

    if (
    file_exists($file_key)) {
      include 
    $file_key;
    } else {
      echo 
    "Файл key отсутствует.";
    }
    можно сделать так чтобы при отсутствия файла key страница дальше не грузила инфу
    PHP:
    else {
      echo 
    "Файл key отсутствует.";
    }
    привет

    у мея получается надпись файла нет и рыдом надпись привет можно ли какнибуть сделать чтоб при отсудствии страницы key скрывать содерживое index чтоб была тока показывалась ошибка об отсутствии файла key
     
    Последнее редактирование модератором: 27 фев 2015
  8. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    205
    Симпатии:
    262
    Нужно добавить вызов функции exit.
    Перейти по ссылке

    PHP:
    if (file_exists($file_key)) {
    include 
    $file_key;
    } else {
    echo 
    "Файл key отсутствует.";
    exit;
    }
    или так
    PHP:
    file_exists($file_key) or exit("Файл key отсутствует.");

    include 
    $file_key;
     
    Последнее редактирование: 17 фев 2015
    oss0611 нравится это.
  9. qpPeW

    qpPeW Постоялец

    Регистр.:
    5 окт 2009
    Сообщения:
    79
    Симпатии:
    31
    Если делать таким способом, то лучше exit заменить на die.
     
    oss0611 нравится это.
  10. oss0611

    oss0611 Постоялец

    Регистр.:
    31 июл 2011
    Сообщения:
    100
    Симпатии:
    39
    всем спасибо за помощь все заработало последний вопрос
    какой должен быть код чтобы фаил key был в корне сайта а а страница которую надо запретить запуск была в другой папке
    тоесть так
    home/key.php

    а страница которою надо остановить надо
    index.php

    home/admin/login/index.php

    будет ли так работать?
    UPD ------------------------------------------
    ребят подскажите вот начало моего файла index.php
    PHP:
    <?php
    $file_key 
    $_SERVER['DOCUMENT_ROOT'].'/key.php';

    if (
    file_exists($file_key)) {
    include 
    $file_key;
    } else {
    echo 
    "Файл key отсутствует.";
    exit;
    }

    define('ADMINAREA'true);
    require(
    '../init.php');

    if (!
    function_exists('curl_init')) {
      echo 
    '<div style="border: 1px dashed #cc0000;font-family:Tahoma;background-color:#FBEEEB;width:100%;padding:10px;color:#cc0000;"><strong>Critical Error</strong><br>CURL is not installed or is disabled on your server and it is required for WHMCS to run</div>';
      exit();
    }
    но при его открытие белая страница может чего то не хватает?
     
    Последнее редактирование модератором: 27 фев 2015