Просмотр поста

.
reaper

А сейчас я расскажу, почему твой код полное говно.

Во-первых, отступы сбивают с толку.
При получении данных из $_POST не проверяется их наличие. Почему ты уверен, что в массиве всегда будут нужные ключи? Когда нет такой гарантии, следует использовать array_key_exists например. В $_POST['x'] и $_POST['y'] ожидаются числа, но ты зачем-то прогоняешь их через htmlspecialchars. Рекомендую почитать документацию к этой функции, чтобы в будущем не выдавать таких перлов.
Обрабатывать $url через htmlspecialchars тоже не нужно. Эта переменная используется при генерации ссылки для запроса через curl. Возможно тут стоит посмотреть в сторону urlencode (или как оно там правильно называется, не помню уже)?

Зачем там условие if (isset($img)), когда переменная всегда существует и содержит не пустую строку? Смысл присваивания $url_down = $img; мне тоже неясен.

Вот так $name = md5(mt_rand(1,999999999)); генерировать уникальные имена не стоит. Когда число скриншотов достигнет 999999999, 100% начнутся коллизии (такое возможно и раньше, но вероятность меньше), т.е. старые файлы будут перезаписаны новыми.

Если при формировании ссылки ты перестарался с htmlspecialchars, то про $_SERVER['HTTP_HOST'] почему-то забыл. HTTP_HOST содержит заголовок, отправляемый браузером, который может содержать что угодно. А может вообще отсутствовать.