За последние 24 часа нас посетили 17834 программиста и 1718 роботов. Сейчас ищет 871 программист ...

Получение файла с другого сервера

Тема в разделе "Прочие вопросы по PHP", создана пользователем Nikolai_, 3 июл 2013.

  1. Nikolai_

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

    С нами с:
    27 авг 2010
    Сообщения:
    133
    Симпатии:
    0
    Подскажите, пожалуйста, в чем может быть проблема.

    Ситуация такая. На народе лежит файл JPG, скажем по адресу http://site.narod.ru/1.jpg. Его размер 1 Мб. Нужно скопировать его на сервер для последующей обработки. Использую такой код (см. ниже), но на сервере создается лишь файл размером 795 байт, т.е. он не копируется полностью. Из-за чего так может быть?

    Код (Text):
    1.  
    2. $file = "http://site.narod.ru/1.jpg";
    3. $newfile = "tmp.jpg";
    4. $t=file_get_contents($file);
    5. file_put_contents($newfile, $t);
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    просмотрите содержимое этого файла который 795. возможно вы найдете там html из которого станет ясно что вместо картинки народ отдает какоето предупреждение.. или еще чтото
     
  3. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Пока, что я вижу, скажем там лежит 404.
     
  4. Nikolai_

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

    С нами с:
    27 авг 2010
    Сообщения:
    133
    Симпатии:
    0
    runcore
    Да... действительно. Это файл html с сообщением: "You are not allowed to view this page. Access to this page using your personal data is forbidden". Похоже придется поискать другое место для хранения больших картинок. Или как-то можно заставить его, чтобы отдавал файл? Ведь в браузере он его показывает, а другому серверу почему-то отдавать не хочет.

    Your
    Это адрес для примера.
     
  5. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    что отдавал скрипту также как браузеру, надо замаскироваться под него. выставить нужные куки, поддерживать сессии(может), юзерагент и т.д.
     
  6. Nikolai_

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

    С нами с:
    27 авг 2010
    Сообщения:
    133
    Симпатии:
    0
    Спасибо, runcore! Сработало.