Розмір зображення
В мене декілька запитань. 1 - навіщо виводячи тип зображення, виявляючи масив $ flag, включати в масив $ size. Якщо і так тип свідомо вказано у змінній $ flag? 2 - Чому ширина і висота виявляється значеннями [0] і [1], чим це пояснюється?
Ну по-перше тут немає змінної flag - це масив! Функція getimagesize () - це вбудована функція PHP, вона повертає масив властивостей зображення, яке було запропоновано в функції, як аргумент, тобто шлях до зображення. У цій функції є певний порядок виведення значень, точніше у масиву, який вона повертає. Як відомо масив містить значення які в свою чергу мають ключі, ці ключі починають свій відлік з нуля. Значення масиву з ключем нуль - містить завжди ширину зображення, з ключем 1 - висоту, з ключем 2 - містить число, яке ідентифікується, як-то, що показано в масиві flag (розширення). Тут використовується вкладеність масивів. Якщо не вкладати масив size [2] в масив flag [], то просто не побачимо розширення картинки.
В даному прикладі масив $ size [2] містить цифру 3, а масив flag [3] - містить розширення PNG якщо з масиву flag [3] прибрати число 3 і вставити масив $ size [2] (flag [$ size [2]] ), то отримаємо те-ж саме, тому що після відпрацювання скрипта в масиві flag залишиться число 3, тобто значення масиву size [2].
тобто виходить у масиву функції getimagesize () може мати тільки 4 значення (ширина, висота, розширення, "ширина і висота")? і навіщо до речі тут "ширина і висота"? якщо ці дані і так вказуються першими двома ключами? І друге. Те що це масив це я зрозумів, але чому його ім'я починається зі знака долара? Я думав, що це змінна має в значенні - масив. Тобто змінна $ flag = масив.
Є довідники по всіх функцій PHP, де вони все розписано. Ширина і висота навіщо? Наприклад динамічно вставляти одну змінну в тег img, а не городити цілий рядок з окремо взятих властивостей. Чому $? Тому що будь-який масив і змінна пишеться зі знаком $, тільки функція без нього. Масив це по суті та ж змінна, яка має своє внутрішнє пристрій, який називається стек масиву. Я уявляю масив як тумбочку або комод з ящиками, кожен ящик має свій номер - це ключ масиву і в кожному ящику щось лежить - це значення певного ключа масиву, а сам комод і є масив. Це звичайно все алегорія, хоча і дуже правдоподібна.
А ви впевнені, що функція getimagesize () залежить від бібліотеки GD? Звідки ви це взяли?
У книжки розумної прочитав.