Як перевірити існування файлу на іншому домені

PunBB.INFO → PHP/SQL → Як перевірити існування файлу на іншому домені?

You must login or register to post a reply

1 Topic byPunBB 2016.02.08 21:02

  • PunBB
  • Admin
  • Offline
  • More info

    Як перевірити існування файлу на іншому домені?

    Іноді ми відображаємо на сайтах контент з інших ресурсів: картинки чи фавікони. Деякі браузери просто залишать порожнє місце (Firefox), інші відобразять потворний прямокутник, явно вказуючи, що чогось не вистачає (IE). Як же можназасобами PHP перевірити існування файлу на іншому сайті/сервері ?.

    Є функціяfile_exists(), але вона хороша лише для файлів у межах нашої файлової системи, а з віддаленим сервером не пройде.

    Є варіант відкривати файл для читання і у разі помилки констатувати факт, що файлу не існує:

    Однак такий прийом займає чимало часу.

    2 Reply byPunBB 2016.02.08 21:57

  • PunBB
  • Admin
  • Offline
  • More info

    Як перевірити існування файлу на іншому домені?

    Є ще кращий варіант — використовувати функцію get_headers(): вона робить запит до файлу і отримує всі заголовки з відповіддю приблизно в такому масиві

    Як бачимо, у нульовому елементі єкод відповіді, 200 означає, що файл існує, і ми спокійно можемо отримати доступ до нього. От код, який перевірить існування файла.

    Тепер порівняємо за часом два методи з існуючої favicon і з неіснуючою: при неіснуючому файлі другий метод (get_headers ) виграє на дві сотісекунди.при існуючому файлі на іншому сайті обидва методи показали приблизно однаковий час.