2015-09-01 2 views
-1

Я в том числе файл в одном из моих других PHP файлов, делая это:PHP - Include не будет работать на простой PHP файл

include(dirname(__FILE__) . '/send_notification.php'); 

код файла Я в том числе выглядит следующим образом:

<?php 
echo "Here!"; 
if(false === function_exists('sendNotification')) { 
    function sendNotification() { 
     echo "I HATE THIS"; 
    } 
} 
echo "There!" 
?> 

Файл включается следующим образом:

include_once(dirname(__FILE__) . '/send_notification.php'); 
echo "And Here!"; 

Но его вторя только это:

Here!There! 

Что происходит?

+0

Появляется сообщение об ошибке или предупреждении? –

+0

Возможно, вы не смотрите на текст. К включению вы выводите его на первую строку. Вы можете вызвать функцию в точке сценария, и данные будут эхом в месте, где вы его не видите (возможно, под div). Проверьте текст в источнике. – Cosmin

+0

Чтобы просмотреть ошибки, добавьте это вверху обоих файлов и запустите его снова: 'ini_set ('display_errors', true); error_reporting (E_ALL); ' –

ответ

1

Вы всегда должны обернуть функцию, чтобы проверить его существования, чтобы избежать проблем при включении.

send_notification.php

if(false === function_exists('sendNotification')) { 
    function sendNotification() { 
     echo "I HATE THIS"; 
    } 
} 

index.php

require_once realpath(__DIR__ . '/send_notification.php'); 
sendNotification(); 

Вы также должны использовать только include_once или require_once обозначения на функции/конфигурации страниц, чтобы предотвратить переопределение/дублирование значений переменных/функции при использовании.

+0

Я добавил include_once. Проверьте обновленный вопрос. Я все еще не работаю. – TastyLemons

+1

Ваш обновленный вопрос не показывает, что вы вызываете 'sendNotification()' – fyrye

+0

Да, потому что кажется, что это не проблема. Он даже не доходит до третьего выражения эха. Перед этим что-то должно быть не так. – TastyLemons

1

попробовать это

<?php 
    function sendNotification() { 
     return "I HATE THIS"; 
    } 
?> 

echo sendNotification(); 
+0

Тогда как я могу вызвать функцию извне файла? – TastyLemons

+2

Если вы его вернете или нет, не имеет значения – Rizier123

+0

Я пробовал это. Он даже не дозвонился до звонка. Включение, похоже, просто терпит неудачу, когда у меня есть функция там. – TastyLemons