(более общий вариант Предупреждение: 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);
Связанные ошибки:
JPEGs для фотографий. Я вижу JPEGs с текстом в них иногда, и они просто выглядят ужасными. Текст является лучшим для текста, иначе используйте PNG.
, Если это не фотография, но Вы хотите диаграмму его, используете PNG. PNG почти всегда меньше, чем эквивалентный gif и не потеряет качество как файл JPEG. PNG, эквивалентный из JPEG, обычно будет намного больше (предположение, что это является фотореалистическим). Могут быть времена, где это все еще желательно.
PNG действительно допускает 8 битов прозрачности, но если необходимо поддерживать IE, Вы найдете, что они постоянно отказываются поддерживать это правильно. Они делают , поддерживают единственный бит прозрачности в 8-разрядном изображении (по существу то же как gif), насколько я знаю. Существуют также многочисленные взломы, чтобы заставить 8-разрядную прозрачность работать в IE. Я никогда не беспокоился, сам.
, Таким образом:
PNG должен использоваться когда:
, JPEG должен использоваться когда:
, GIF должен быть когда:
Несмотря на мифы наоборот, PNG превосходит GIF по характеристикам в большинстве аспектов. PNG способен к каждому режиму изображения GIF кроме анимации, и при использовании того же режима изображения, PNG будет иметь лучшее сжатие из-за его начальника, ВЫКАЧИВАЮТ алгоритм по сравнению с LZW. PNG также способен к дополнительным режимам, которые GIF не может сделать, такие как цвет на 24 бита и альфа-прозрачность, но это - то, где можно столкнуться с проблемами в сети. Альфа-прозрачность имеет проблемы совместимости с IE6, которые хорошо документируются (хотя взломы существуют для двигений).
режимы PNG включают (это - просто маленькое подмножество)
Для лучшего сжатия в PNG для сети, всегда использует режим палитры. Если Вы находите, что файлы PNG больше, чем эквивалентные файлы GIF, то Вы сохраняете PNG в цвете на 24 бита и GIF в режиме палитры (потому что GIF всегда находится в режиме палитры). Попытайтесь преобразовать в режим палитры сначала.
, Если Вы находите, что Ваши файлы PNG с прозрачностью не работают правильно в IE6, в то время как Ваши файлы GIF, тогда Вы используете цвет на 24 бита + альфа-прозрачность в PNG и режиме палитры с прозрачным цветом с GIF. Необходимо будет удостовериться, что Вы преобразовываете свой PNG в палитровый режим с прозрачным цветом.
PNG также имеет другие режимы, такие как цвет палитры с альфа-прозрачностью в палитре. Режимы, такие как это не могут использоваться в Photoshop.
Попытайтесь посмотреть на этот сайт http://www.killersites.com/articles_2005/theory/imagesInWebPages.jsp
, Они пытаются объяснить, что использовать когда