Не используйте функции, которые или уже deprecated, или будут таковыми.
"Не рекомендуется использовать это расширение. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API и соответствующий FAQ для получения более подробной информации. Альтернативы для данной функции:
mysqli_query()
PDO::query()" (с оф. сайта PHP)
php.su следовало бы держать информацию о функциях в актуальном состоянии, пусть люди будут в курсе.
Первая строчка: поиск индекса цвета по координатам $i, 0 и сдвиг вправо на 24 позиций, а потом проверка, равно ли это значение 127, дальше обычное присвоение полученного результата.
Вторая строчка: массивFont-metrics[ключ букваКакой-тоСимвол] = массив(ключ Старт => значение $i)
Третья, как и вторая строчка, просто написана по-другому. Можно написать и так
массивFont-metrics[ключ букваКакой-тоСимвол] = массив(ключ Енд => значение $i)
И font_metrics - это не просто переменная, это массив.
Отобразится ли $a на экране? Nope. Почему? Потому что нет print, или echo - соответствующей команды. Если вы хотите делать именно таким образом, то только вот так
Если вы отправляете данные на ту же страницу, то не надо указывать в экшн СКРИПТ НЕЙМ, просто опустите экшн, браузер сам поймет, куда вы хотите данные отправить.
В файл нужно записать прежде, чем вы его прочитаете. У вас же сначала происходит чтение, а потом уже запись, поэтому при первом нажатии на кнопку отображается старый текст.
Совет: не вводите переменные, если они не несут никакой пользы. В данном случае, у вас было 2 переменных $t и $a. Вторая переменная, скорее всего, нигде больше не используется, поэтому содержание файла лучше всего сразу вывести, чем сохранять его в переменной и выводить эту переменную. Так же и с первой переменной. Вы присвоили ей значение и использовали ее только один раз, никакой информации эта переменная в себе не несла, также она и не сокращала код, даже наоборот.
Заметьте, я использовал эту переменную, чтобы два раза не писать $_POST['pole']. Уже видна целесообразность, хоть и не большая польза.
Резюмируя, используйте переменные только там, где это нужно.
Вы думали, что браузер сам побежит загружать файл, адрес которого указан в заголовках страницы? Нет, ему нужно передать этот файл, в данном случае для этого использовалась функция readfile
Мне кажется, маленький недостаток этого варианта то, что он не дорисовывает оставшиеся пустые ячейки, как бы неправильная верстка. Нужно немного доработать