Пример изображения Tumblr:
https://69.media.tumblr.com/ec3874e541a767ab578495b762201a53/tumblr_ph9je0Akck1r89eh5o1_1280.jpg
Код:
<form method="get">
<input type="text" name="url"/>
<input type="submit" value=" загрузить "/>
</form>
<?php
$name = md5(date('Y-m-d H:i:s').rand(0, 1000));
$folder = 'upload/';
$source = ($_GET['url']);
$dest = $folder.$name.'.png';
copy($source, $dest);
echo 'http://mysite.example/'.$folder.$name.'.png';
?>
Я нашел это в другом вопросе на этом сайте:
Если вы можете просматривать изображение в браузере, который находится на том же компьютере, что и ваша программа, возможно, сервер не отправит изображение, если вы не похожи на пользователя, а не на программу. В этом случае изменение строки идентификации браузера может решить вашу проблему.
Если вы не можете просмотреть изображение из браузера, запущенного на ПК программы, вам нужно будет найти источник вашей проблемы в другом месте.
Я думаю, у меня проблема похожа на эту. Tumblr дает изображение для просмотра в браузере, но не позволяет копировать его с помощью скрипта.
Как это исправить? Например, такие сайты, как imgur, могут загружать изображения Tumblr по URL без каких-либо проблем.
P.S. Для изображений с других сайтов копирование с помощью этого скрипта проходит нормально.
Дополнение 01:
Как оказалось, проблема с моим сайтом. Когда я запускаю этот код на другом сайте, он нормально работает с изображениями Tumblr. У меня есть бесплатный домен .ml и бесплатный хостинг Byethost. У меня есть два предположения. Во-первых, мой домен или хостинг находится в черном списке на Tubmlr. Во-вторых, у меня неправильные настройки на моем сайте. Если первое предположение верно, есть ли способ заставить его работать без изменения домена или хостинга? Если второе верно, какие настройки я должен проверить и изменить?