Подтвердить что ты не робот

Как включить только в том случае, если файл существует

Мне нужен оператор include function/statement, который будет содержать файл, только если он существует. Есть ли в PHP?

Вы можете использовать @include, но есть проблема с этим подходом - если файл будет включен, PHP не будет выводить предупреждения, если парсер найдет что-то не так во включенном файле.

4b9b3361

Ответ 1

if(file_exists('file.php'))
    include 'file.php';

Это должно делать то, что вы хотите

Ответ 2

Попробуйте использовать file_exists()

if(file_exists($file)){
  include $file;
}

Ответ 3

Основываясь на ответе @Select0r, я закончил использование

if (file_exists(stream_resolve_include_path($file)))
    include($file);

Это решение работает, даже если вы пишете этот код в файле, который был включен из файла в другой каталог.

Ответ 4

Как использовать file_exists перед include?

Ответ 6

Я думаю, вы должны использовать file_exists, потому что если бы был такой include, он бы был указан здесь: http://php.net/manual/en/function.include.php

Ответ 7

@ подавляет сообщения об ошибках.

использование облака:

$file = 'script.php';
if(file_exists($file))
  include($file);

Ответ 8

function get_image($img_name) {
    $filename = "../uploads/" . $img_name;
    $file_exists = file_exists($filename);
    if ($file_exists && !empty($img_name)) {
        $src = '<img src="' . $filename . '"/>';
    } else{
        $src = '';
    }
    return $src;
}
echo get_image($image_name);

Ответ 9

@include($file);

Использование в начале, игнорирует любую ошибку, которую может генерировать эта функция. Не злоупотребляйте этим, так как IT WAY SLOWER, чем проверка с помощью if, но это кратчайший вариант кода.

Ответ 10

<?php  
  if(file_exists('file.php'))
        include 'file.php';
    }else{
        header("Location: http://localhost/);
        exit;

    }