За последние 24 часа нас посетили 15672 программиста и 1636 роботов. Сейчас ищут 870 программистов ...

Проверка на существование файла

Тема в разделе "Прочие вопросы по PHP", создана пользователем rukisalat, 4 апр 2014.

  1. rukisalat

    rukisalat Активный пользователь

    С нами с:
    18 сен 2013
    Сообщения:
    39
    Симпатии:
    0
    Есть файл на бесплатном хостинге. Раньше ссылка была прямая, теперь же появилось несколько субов от 1 до 20, которые выпадают для каждого юзера рандомно. Остальная конструкция и id остаются прежними.

    Наглядно:
    Я перехожу по ссылке
    Код (Text):
    1. domain1.hosting.com/get/file/id324324/video.mp4
    и получаю скачивание файла без промежуточной страницы с кнопкой скачать.
    Если же я прерву ссесию (перезапущу браузер) то эта ссылка выдаст редирект на страницу с кнопкой скачать. И по ней будет ссылка вида
    Код (Text):
    1. domain11.hosting.com/get/file/id324324/video.mp4
    Ссылка на видео используется мной в плеере на сайте, соответственно выпадение правильного URL нужно узнать для каждого юзера отдельно.
    Появилась идея проверять ответ серва на редирект, перебирать все 20 доменов вплоть до ответа 200-ОК и подставлять в URL.
    Подскажите пожалуйста как лучше всего это организовать. Желательно с примерами.
    Заранее спасибо.
     
  2. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
  3. rukisalat

    rukisalat Активный пользователь

    С нами с:
    18 сен 2013
    Сообщения:
    39
    Симпатии:
    0
    Your, Вижу в заголовке "Форум", а не фриланс-биржа.
    Я не просил писать за меня. Хочу узнать как лучше это сделать. Может быть уже кто то реализовывал или есть готовый класс для прочекивания, помимо стандартных file_exists() и get_headers().
     
  4. rukisalat

    rukisalat Активный пользователь

    С нами с:
    18 сен 2013
    Сообщения:
    39
    Симпатии:
    0
    Первое что пришло в голову.
    Код (Text):
    1. <?
    2. $i = 0;
    3. do{
    4. $i = $i + 1;
    5. $url  = "https://domain".$i.".hosting.com/weblink/get/4f5a080296a5/video.mp4";
    6. $headers = get_headers($url);
    7. print_r($headers);}
    8. while(preg_match("|200|", $headers[0]));
    9. ?>
     
  5. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    браузер примерно по такой логике работает ) так что нормальный ход мыслей. пробуй.