Это происходит, когда вы обычно вызываете файл include
, require
или fopen
, и PHP не смог найти файл или не имел достаточного разрешения на загрузку файла.
Это может произойти по разным причинам:
Одна из распространенных ошибок заключается в том, чтобы не использовать абсолютный путь. Это можно легко решить, используя полный путь или магические константы , такие как __DIR__
или dirname(__FILE__)
:
include __DIR__ . '/inc/globals.inc.php';
или:
require dirname(__FILE__) . '/inc/globals.inc.php';
Обеспечение правильного пути используется одним шагом в устранении этих проблем, это также может быть связано с несуществующими файлами, правами файловой системы, предотвращающими доступ или открытыми ограничениями на основе самого PHP.
Лучший способ для быстрого решения этой проблемы необходимо выполнить контрольный список устранения неполадок ниже.
Вопросы, относящиеся:
Связанные ошибки:
Я не думаю, что возможно сделать это в способе, которым Вы пытаетесь сделать это.
Признак принятого формата данных обычно делается посредством добавления расширения имени ресурса. Так, если у Вас есть ресурс как
/resources/resource
и GET /resources/resource
возвраты его представление HTML, чтобы указать на желание его представления XML вместо этого, можно использовать следующий шаблон:
/resources/resource.xml
необходимо сделать принятое волшебство определения типа контента на стороне сервера, затем.
Или использование JavaScript, поскольку James предлагает.
Я частично не согласился бы с предложением Милана встраивания требуемого представления в URI.
, Если во всяком случае возможно, URIs должен [только 1 110] использоваться для обращения к ресурсам и не для туннелирующих методов/глаголов HTTP. В конечном счете определенное бизнес-действие (редактирование, блокировка, и т.д.) могло быть встроено в URI, если создают (POST) или обновляют (ПОМЕЩЕННЫЙ) один, не служат цели:
POST http://shonzilla.com/orders/08/165;edit
В случае запроса особого представления в URI необходимо было бы разрушить дизайн URI, в конечном счете делающий его более ужасный, смешав два отличных понятия REST в том же месте (т.е. URI) и делая его тяжелее, чтобы в общем обработать запросы на серверной стороне. То, что предлагает Милан, и многие делают то же, включая Flickr, является точно этим.
Вместо этого БОЛЕЕ УСПОКОИТЕЛЬНЫЙ подход был бы использование отдельного места для кодирования предпочтенного представления при помощи Accept
HTTP-заголовок, который используется для согласования содержания, где клиент говорит серверу, какие типы контента это может обработать/обработать, и сервер пытается обработать запрос клиента. Этот подход является частью стандарт HTTP 1.1 , программное обеспечение, совместимое и поддерживаемое веб-браузерами также.
Сравнивают это:
GET /orders/08/165.xml HTTP/1.1 or GET /orders/08/165&format=xml HTTP/1.1
к этому:
GET /orders/08/165 HTTP/1.1 Accept: application/xml
От веб-браузера можно запросить любой тип контента при помощи setRequestHeader
метод XMLHttpRequest
объект. Например:
function getOrder(year, yearlyOrderId, contentType) { var client = new XMLHttpRequest(); client.open("GET", "/order/" + year + "/" + yearlyOrderId); client.setRequestHeader("Accept", contentType); client.send(orderDetails); }
Для подведения его: адрес, т.е. URI ресурса должен быть независим от своего представления и XMLHttpRequest.setRequestHeader
, метод позволяет Вам запрашивать любое представление с помощью Accept
HTTP-заголовок.
За Ваше здоровье!
Shonzilla
Используйте некоторый JavaScript!
xmlhttp=new XMLHttpRequest(); xmlhttp.open('PUT',http://www.mydomain.org/documents/standards/browsers/supportlist) xmlhttp.send("page content goes here");