За последние 24 часа нас посетили 28053 программиста и 1815 роботов. Сейчас ищут 2173 программиста ...

Проверка наличия файла

Тема в разделе "PHP для новичков", создана пользователем viphost, 16 фев 2013.

  1. viphost

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

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    Я в растерянности, может кто подскажет оптимальный способ проверки (по быстродействию)
    Есть ссылка вида
    Код (Text):
    1. http://site.ru/files/file.zip
    так вот, сначала хотел использовать get_headers, проверять ответ сервера, если 200 то все ок, но опять же что бы это заюзать, нужно работать со строкой (ссылкой), брать path из parse_url, затем убирать первый слешь, чтобы получить что то вроде того files/file.zip
    fopen, вобще не хочу юзать
    читал про еще какие то функции, но все также нужно работать с ссылкой, не хотелось бы писать лишний код для всего этого.
    Или все же придется?

    Добавлено спустя 58 минут 3 секунды:
    вобщем так и не нарыл ничего =( Пришлось делать что то вроде этого
    Код (Text):
    1. $url =  parse_url('http://site.ru/files/file.zip');
    2.         //print_r($url);
    3.         $file = ltrim($url['path'], '/');
    4.  
    5.         if (file_exists($file))
    6.         {
    7.             echo = 'есть файл';
    8.         }
    9.         else
    10.         {
    11.             echo = 'нет файла';
    12.         }
     
  2. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ты чего, из ссылки выковыриваешь место хранения файла у себя???????????????????????????????????? О_О
     
  3. viphost

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

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    Мне нуна проверку сделать, существует ли файл или нет его, файл генерится по запросу, точнее путь до файла, поэтому нужно делать проверку.
    Вобщем существуют некоторые ограничения по предоставлению файла, если ограничения срабатывает, то папка не создается, и если она не создалась, то и файла соответсвено нет, ыыы
    Если нет, то уже вывести сообщение нужно. Короче сложно все xD
     
  4. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    эх... давай ЕЩЁ РАЗ

    кем генерится?

    сложно, потому что у тебя в голове две параллельные вселенные сошлись в одну кашу. Гречневую. (о да!)
     
  5. viphost

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

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    юзером генерится ссылка, по запросу получает то что ему надо, в ссылке md5 имеется. Вобщем так оставлю, работает вроде все.
     
  6. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    что значит юзером генерируется ссылка? что значит получает? что значит в ссылке имеется хеш?

    Добавлено спустя 15 секунд:
    как вообще юзер может генерировать ссылку???????
     
  7. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    если директория физически создается - поставь в ней нестандартный обработчик для 404 ошибки и не ломай себе мозг
     
  8. viphost

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

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    ох, говорю же все сложно. Есть закрытые файл, доступ к которым осуществляется определенным юзером, если доступ разрешен, генеритуется ссылка, юзер по ней переходит и из базы дергается адрес ссылки, в ссылке присутствует мд5, генерится скриптом по запросу юзера, чтобы не качали 1000 чел один файл. Говорю сложно все
     
  9. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    тут нет ничего сложного. Адрес файла на диске сервера при генерации известен =) просто сохрани его в бд и всё. или сохраняй файлы так, чтобы понять где они лежат, например в папке /files с именем его md5

    ничего сложного