(более общий вариант Предупреждение: mysql_fetch_array () ожидает, что параметр 1 будет resource, boolean given )
Ресурсы - это тип в PHP (например, строки, целые числа или объекты). Ресурс является непрозрачным блобом без собственной значимой ценности. Ресурс специфичен и определен определенным набором функций или расширений PHP. Например, расширение Mysql определяет два типа ресурсов :
В модуле MySQL есть два типа ресурсов. Первый - идентификатор ссылки для подключения к базе данных, второй - ресурс, который содержит результат запроса.
Расширение cURL определяет другой два типа ресурсов :
... дескриптор cURL и мультирум cURL.
Когда
var_dump
ed значения выглядят так:$resource = curl_init(); var_dump($resource); resource(1) of type (curl)
Это все большинство ресурсов - это числовой идентификатор (
(1)
) определенного типа ((curl)
).Вы переносите эти ресурсы и передаете их различным функциям, для которых такой ресурс что-то значит. Обычно эти функции выделяют определенные данные в фоновом режиме, а ресурс - это просто ссылка, которую они используют для отслеживания этих данных внутри.
«... ожидает, что параметр 1 будет ресурсом, логическим данная "ошибка, как правило, является результатом непроверенной операции, которая должна была создать ресурс, но вместо этого вернула
false
. Например, функцияfopen
имеет это описание:Возвращаемые значения
Возвращает ресурс указателя файла при успешном выполнении или
FALSE
Таким образом, в этом коде
$fp
будет либоresource(x) of type (stream)
, либоfalse
:$fp = fopen(...);
Если вы не операция
fopen
будет успешной или неудачной и, следовательно, будет ли$fp
действительным ресурсом илиfalse
и передать$fp
другой функции, которая ожидает ресурс, вы можете получить вышеуказанную ошибку:$fp = fopen(...); $data = fread($fp, 1024); Warning: fread() expects parameter 1 to be resource, boolean given
Вам всегда нужно проверять возвращаемое значение функций, которые пытаются выделить ресурс , и может выйти из строя :
$fp = fopen(...); if (!$fp) { trigger_error('Failed to allocate resource'); exit; } $data = fread($fp, 1024);
Связанные ошибки:
Я работал с OpenVG немного, и нет большого количества реализаций там. Я, оказывается, использую ShivaVG, который использует OpenGL, но это не было обновлено в некоторое время Некоторых других реализациях, включайте:
ссылочная реализация (я нашел, что он является невероятно медленным; однако, нет никаких других, которые в настоящее время являются до 1,1 все же (стандарт OpenVG 1.1 вышел в начале декабря)
GingkoVG - двоичный файл только, и использует его собственную систему управления окнами (но эй, все они делают так или иначе).
AmanithVG - коммерческий; взгляды довольно полируются. Я думаю там используемый быть бесплатной версией, но я, может казаться, не нахожу его.
KompazzVG/AntigrainVG - реализация с помощью AGG; большие взгляды, но автор публично не выпустили кода, хотя существует стройплощадка и таинственная соединительная линия svn.
Мышление Вы, это все реализации для рабочего стола; я не уверен, что фактическая поддержка оборудования находится на мобильных устройствах.
Лично, я считал бы ShivaVG лучшим просто, потому что он поддерживает достаточно функций, чтобы сделать большинство вещей, и это быстро. Существуют некоторые незакрепленные ошибки, но эй, исходный код открыт.
Кстати, сайт SF для ShivaVG здесь ; Вы, вероятно, хотели бы использовать магистральную версию, не пронумерованный выпуск, потому что это немного более актуально. Также соединительная линия KompazzVG могла бы быть здесь .
AmanithVG SRE (механизм растеризации программного обеспечения) и GLE (ES OpenGL помог механизму растеризации) boths реализует целый OpenVG 1.1 и набор функций OpenVG 1.0.1.
сборки Оценки обоих механизмов доступны для скачивания на веб-сайт AmanithVG .
AmanithVG внутренние результаты testsuite, а также тестовые источники, доступны для просмотра в , GLE тестирует страницу и тестовая страница .
SRE AmanithVG SRE, и GLE доступны для следующих целевых платформ:
Windows 2000 / XP / Vista, на x86, x86_64;
Windows CE / Мобильный, на ARM v5, v6 (с или без VFP);
MacOS X 10.4 / 10.5, на PowerPC, Intel (Универсальный Двоичный файл);
Linux 2.6.x, на x86, x86_64, PowerPC, ARM v5, v6 (с или без VFP), SH4;
QNX 6.4.x на x86, PowerPC, ARM v6, SH4.
Спасибо за сообщения. D L, Ваш список является очень всесторонним, поскольку просто нет так очень там для поддержки OpenVG в это время. Еще одна реализация, которую я нашел, была:
я собираюсь обнародовать это и надеяться, что мы получаем больше обратной связи в будущем на других реализациях.
Похож никто не знает много об этом, и я признаюсь, что не делаю также. Я так же ограничен Google как любой. Первые места для взгляда, казалось бы, были бы Khronos и Википедия
MonkVG - это реализация API векторной графики, подобная OpenVG 1.1, в настоящее время использующая серверную часть OpenGL ES, которая должна быть совместима с любым HW, поддерживающим OpenGL ES 2.0, включая большинство устройств iOS и Android.
Это проект с открытым исходным кодом под лицензией BSD, который находится в активной разработке. На момент написания этой статьи он находится на очень ранней стадии предварительного выпуска (реализовано очень минимальное количество функций). Авторы и спонсоры приветствуются.
Его можно найти на GitHub http://github.com/micahpearlman/MonkVG