daMage: про E_ERROR нужно ещё подумать, но для E_PARSE это невозможно: она возникает ещё до начала исполнения скрипта. Никакого вывода ещё не было, ни одной команды исполнено не было и уже не будет.
Случайное или произвольное? Произвольное - это любое, которое потребовалось программисту. Случайное - это когда программист не желает заранее знать, какое именно значение он получит.
Номер телефона прям совсем произвольно в тексте, или хоть как-то выделяется в отдельную строку или ячейку таблицы? Если выделяется, то задача решается довольно просто: убираем все нецифры и сравниваем со списком кодов стран, городов и сотовых операторов.
Как-то это не гуманно по отношению к пользователю - удалять с сервера после первого же скачивания. Например, ситуация, когда пользователь при скачивании нажал не "Сохранить", а "Просмотреть". Файл скачался в temp и удалился при перезагрузке. Теперь его нет ни у Вас, ни у пользователя. Кроме того, запросы типа GET подразумевают идемпотентность. Может, лучше вкладывать его в письмо или удалять с сервера по тайм-ауту после скачивания? Через неделю или около того.
mrantony: ну не совсем мистика, скорее, трудноуловимый баг. Кстати, как бывший сотрудник техподдержки, советую не верить техподам на слово с первого раза, а пинать из по нескольку раз, особенно если точно уверены, что не верблюд. В худшем случае Вам всё разложат по полочкам и убедят в обратном :-)
mrantony: насколько вижу, блокируются только изображения (png, gif, jpeg) из папки wp-content и всех вложенных, причём блокируются на уровне Apache. Кроме того, заметил, что во всех ответах есть заголовок CloudFlare.
Учитывая, что такое появилось недавно, и что новые картинки доступны, могу предположить, что по каким-то хитрым соображениям хостер блокирует доступ с некоторых IP CloudFlare (например, сработал кривой анти-DDoS скрипт или лютуют РосКомЦензура). CloudFlare честно кэширует ошибку 403 и отдаёт браузеру. Новые картинки кэшируются с других IP, поэтому доступны. Проверить даже не знаю как, нужно иметь админский доступ к серверу и его логам. Попробуйте подкинуть эту идею техподдержке, у них наверняка есть соответствующие права.
Евгений Привалов: в Chrome Dev Tool есть закладка Network или вроде того. Там найдите запрос, который делается из iframe, посмотрите заголовки. Скорее всего дело в том, что страницу нельзя загружать из фрейма, но возможны и другие варианты.
Насчёт Django не знаю, но могу посоветовать jQueryUI и jQuery. В первом есть готовый шаблон для прогресс-бара, второй делает элементарым обращение по AJAX к серверу для уточнения статуса. А уж на стороне сервера написать подсчёт статуса - дело не хитрое.
Влад Животнев: прописные истины - это хорошо, но меня интересует логика. Есть ли алгоритм, который позволяет определить принадлежность протокола к уровню OSI?