Это происходит, когда вы обычно вызываете файл include
, require
или fopen
, и PHP не смог найти файл или не имел достаточного разрешения на загрузку файла.
Это может произойти по разным причинам:
Одна из распространенных ошибок заключается в том, чтобы не использовать абсолютный путь. Это можно легко решить, используя полный путь или магические константы , такие как __DIR__
или dirname(__FILE__)
:
include __DIR__ . '/inc/globals.inc.php';
или:
require dirname(__FILE__) . '/inc/globals.inc.php';
Обеспечение правильного пути используется одним шагом в устранении этих проблем, это также может быть связано с несуществующими файлами, правами файловой системы, предотвращающими доступ или открытыми ограничениями на основе самого PHP.
Лучший способ для быстрого решения этой проблемы необходимо выполнить контрольный список устранения неполадок ниже.
Вопросы, относящиеся:
Связанные ошибки:
Смотрите на это:
(переизданный от страницы блога с истекшим сроком http://jamiethompson.co.uk/web/2008/06/17/publish-subscribe-with-jquery/ на основе заархивированной версии в http://web.archive.org/web/20130120010146/http://jamiethompson.co.uk/web/2008/06/17/publish-subscribe-with-jquery/ )
<час>17-го июня 2008
В целях записи UI jQuery, интегрированного с офлайновой функциональностью Google Gears i’ve играющий с некоторым кодом для опроса относительно состояния сетевого подключения с помощью jQuery.
основная предпосылка очень проста. Мы создаем экземпляр объекта определения наличия сети, который опросит URL равномерно. Если эти Запросы HTTP перестали работать, мы можем предположить, что сетевое соединение было потеряно, или сервер просто недостижим в текущее время.
$.networkDetection = function(url,interval){
var url = url;
var interval = interval;
online = false;
this.StartPolling = function(){
this.StopPolling();
this.timer = setInterval(poll, interval);
};
this.StopPolling = function(){
clearInterval(this.timer);
};
this.setPollInterval= function(i) {
interval = i;
};
this.getOnlineStatus = function(){
return online;
};
function poll() {
$.ajax({
type: "POST",
url: url,
dataType: "text",
error: function(){
online = false;
$(document).trigger('status.networkDetection',[false]);
},
success: function(){
online = true;
$(document).trigger('status.networkDetection',[true]);
}
});
};
};
можно просмотреть демонстрацию здесь. Усадите свой браузер за работу офлайн и посмотрите что happens†¦. нет, it’s не очень захватывающий.
, Что является захватывающим, хотя (или по крайней мере что является захватывающим меня) метод, которым состояние передается через приложение. I’ve наткнулся на в основном необсужденный метод реализации pub/sub системы с помощью jQuery’s, инициировали и связывают методы.
демонстрационный код является более тупым, чем это должно быть. Объект определения наличия сети публикует ’status вЂevents к документу, который активно прислушивается к ним и в свою очередь публикует события вЂnotify’ всем подписчикам (больше на тех позже). Обоснование позади этого состоит в том, что в приложении реального мира, вероятно, было бы еще некоторое управление логики, когда и как события вЂnotify’ публикуются.
$(document).bind("status.networkDetection", function(e, status){
// subscribers can be namespaced with multiple classes
subscribers = $('.subscriber.networkDetection');
// publish notify.networkDetection even to subscribers
subscribers.trigger("notify.networkDetection", [status])
/*
other logic based on network connectivity could go here
use google gears offline storage etc
maybe trigger some other events
*/
});
из-за jQuery’s DOM центральные события подхода публикуются к (включенному) элементы DOM. Это может быть объектом окна или объектом документа для общих событий, или можно генерировать объект jQuery использование селектора. Подход i’ve взятый с демонстрацией должен создать почти namespaced подход к определению подписчиков.
элементы DOM, которые должны быть подписчиками, классифицируются просто с “subscriber” и “networkDetection”. Мы можем тогда опубликовать события только к этим элементам (которых существует только один в демонстрации) путем инициирования уведомлять события на [1 124] $(“.subscriber.networkDetection”)
#notifier
отделение, которое является частью .subscriber.networkDetection
, группе подписчиков тогда связали анонимную функцию с ним, эффективно действуя как слушатель.
$('#notifier').bind("notify.networkDetection",function(e, online){
// the following simply demonstrates
notifier = $(this);
if(online){
if (!notifier.hasClass("online")){
$(this)
.addClass("online")
.removeClass("offline")
.text("ONLINE");
}
}else{
if (!notifier.hasClass("offline")){
$(this)
.addClass("offline")
.removeClass("online")
.text("OFFLINE");
}
};
});
Так, там Вы идете. It’s все довольно подробные и мой пример isn’t при всем возбуждении. Это также doesn’t демонстрирует что-либо интересное, которое Вы могли сделать с этими методами, но если anyone’s вообще заинтересовал рыть через источник, не стесняются. Весь код встроен в голове демонстрационной страницы
Я думаю так.. возможно 'связать' пользовательские события, как (от: http://docs.jquery.com/Events/bind#typedatafn ):
$("p").bind("myCustomEvent", function(e, myName, myValue){
$(this).text(myName + ", hi there!");
$("span").stop().css("opacity", 1)
.text("myName = " + myName)
.fadeIn(30).fadeOut(1000);
});
$("button").click(function () {
$("p").trigger("myCustomEvent", [ "John" ]);
});