Как я могу загрузить изображение от URL в PHP

В PHP, использующем GD или imagemagick, как я могу загрузить фотографию от URL, я хочу создать функцию, которую я могу передать в нескольких параметрах и загрузить изображение, я могу в настоящее время загружать большое изображение, изменять размер его меньший, затем изменять размер еще некоторых миниатюр от него и сохранять все в там местоположения из 1 изображения, но я хотел бы добавить способность получить изображение от URL и затем выполнить мой код его, чтобы изменить размер и сделать ползунки.

Я использовал бы завихрение или что-то еще, какой-либо пример или идеи будут значительно цениться

6
задан JasonDavis 5 January 2010 в 05:29
поделиться

3 ответа

$image = @ImageCreateFromString(@file_get_contents($imageURL));

if (is_resource($image) === true)
{
    // image is valid, do your magic here
}

else
{
    // not a valid image, show error
}

@ в обеих функциях для предотвращения ошибок PHP, если URL не является корректным изображением.

.
11
ответ дан 8 December 2019 в 18:37
поделиться
$img = '';
$fp = fopen($url, 'rb');
if($fp) {
    while($buf = fread($fp, 1024)) {
        $img .= $buf;
    }    
}
fclose($fp);

// предполагая, что url fopen-обертки включены

.
0
ответ дан 8 December 2019 в 18:37
поделиться

В зависимости от вашей конфигурации PHP, fopen может напрямую разрешать или нет: http://php.net/manual/en/function.fopen.php

Или же вы можете открыть сокет (http://php.net/manual/en/book.sockets.php) и написать / прочитать HTTP (http://www.faqs.org/rfcs/rfc2616.html) напрямую. Я бы не стал использовать curl, если вы ОЧЕНЬ не осторожны с разрешениями (особенно с исполнением), или не можете гарантировать, что никто из злоумышленников не получит доступ к инструменту, так как вы фактически откроете потенциальный способ атаки (ну, строго говоря, вы уже открыли, но есть несколько различных способов, которыми вы можете злоупотребить)

.
2
ответ дан 8 December 2019 в 18:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: