На одном сайте нужно было проверять ссылку перед скачиванием, рабочая ссылка или нет. Делаем через получения заголовков от страницы. Если не битая — качаем файл, битая — ничего не делаем или выводим что-то (ну или редиректим).
Получаем заголовок, проверяем на 404 ошибку:
function is_valid_uri($uri) { $hds = @get_headers($uri); return !$hds || (strpos($hds[0], ' 404 ') !== false ) ? 'Битая ссылка' : 'Ссылка работает'; }
Если 404 — то «битая», иначе рабочая. Нам нужно было для скачивания файла, без редиректа на другую страницу. Делали без ajax. Если не битая, тогда задаем тип файла, и качаем:
if (is_valid_uri($download_file) != 'Битая ссылка') { header('Content-Type: application/vnd.android.package-archive'); header('Content-Disposition: attachment; filename="file.apk"'); readfile($download_file); } else { header('HTTP/1.0 204 No Content'); exit; }
Если ссылка «битая» (404 ошибка = не существует), тогда ничего не делаем (задали в заголовке).
В вашем случае, наверняка, нужно просто выводить что-то на экране. Можно упростить код и вместо текста писать 1 или 0.
<?php function is_valid_uri($uri) { $hds = @get_headers($uri); return !$hds || (strpos($hds[0], ' 404 ') !== false ) ? '1' : '0'; } if (is_valid_uri($download_file) != '1') { echo "Ссылка рабочая."; } else { echo "Ссылка битая, проверьте."; } ?>
Очень много разговоров в последнее время за токен NOT. Много бирж будут делать листинг токена,…
Телеграм недавно запустил возможность стейкать (замораживать) USDT и получать за это их валюту TON. Очень…
Биржа криптовалют Binance проводит сейчас промо-акцию: новым пользователям дают ваучеры в сумме 110 долларов. Деньги…
Самый главный момент в работе с youtube - это получить ключ api через консоль разработчика…
Арендую сервер для небольшого проекта на python. И вот приходит мне уведомление, что за сутки…
Тестирую одну схему, и нужно на много видео наложить watermark. Решил делать через Python 3,…