как загрузить файл с URL? - PullRequest
       5

как загрузить файл с URL?

0 голосов
/ 04 сентября 2018

Я разработал функцию API для публикации чего-либо в Instagram без необходимости входа в систему, проблема в том, что изображение должно быть локально (на компьютере, d: \ .. e: \ .. и т. Д.) Я хочу загрузить изображения например, из файла url (http: //example.com/images/pict1.jpg), но работайте только с локальным файлом, здесь код:

set_time_limit(0);
    date_default_timezone_set('UTC');
    require __DIR__.'../../../vendor/autoload.php';
    /////// CONFIG ///////
    $username = 'instagram username';
    $password = 'instagram pass';
    $debug = false;
    $truncatedDebug = false;
    //////////////////////
    /////// MEDIA ////////

    $photoFilename = '';
    $captionText = '';
    //////////////////////

    $ig = new \InstagramAPI\Instagram($debug, $truncatedDebug);
    try {
        $ig->login($username, $password);
    } catch (\Exception $e) {
        //echo 'Something went wrong: '.$e->getMessage()."\n";
        exit(0);
    }
    try {

        $photo = new \InstagramAPI\Media\Photo\InstagramPhoto($photoFilename);
        $ig->timeline->uploadPhoto($photo->getFile(), ['caption' => $captionText]);
    } catch (\Exception $e) {
        //echo 'Something went wrong: '.$e->getMessage()."\n";
    }

спасибо за чтение, хотелось бы, чтобы было решение этой проблемы.

1 Ответ

0 голосов
/ 04 сентября 2018

Если нет другого способа передать URL-адрес изображения в этот API, загрузите файл на сервер и затем загрузите его.

$content = file_get_contents('http://example.com/img'); // Download file from internet
file_put_contents(__DIR__.'/img.png', $content); // Save it's content to server

// Rest of magic
$photo = new \InstagramAPI\Media\Photo\InstagramPhoto(__DIR__.'/img.png');
$ig->timeline->uploadPhoto($photo->getFile(), ['caption' => $captionText]);

unlink(__DIR__.'/img.png'); // Remove file from server
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...