Валера Карманов, как вариант, делаете файл php, например download.php, и параметром имя файла, пароли храните в бд. и при обращении к этому файлу, например download.php?name=myfile.jpg, выдавать хедер с требованием авторизации.
А качество зависит от вас
saniii, цикл foreach ($proxy_list as $proxy) будет выполняться пока не дойдет до последнего элемента массива. Чтобы остановить цикл используйте break.
И мне кажется, можно сделать проще все: берете список прокси всех типов и в цикле ищите рабочий прокси, который не используется.
1. В запросе SELECT можно выбирать только id столбец или вообще выводить count.
2. Зачем меняется параметр $proxy_search_status при отсутствии записи в базе? Следующие итерации по $proxy_list ничего не сделают.
Причём здесь пользователи, которых вы пытаетесь создать и конфиг файл phpmyadmin?
Открывайте файловый менеджер или консоль и ищите файл, смотрите конфиг http сервера для phpmyadmin