17 мая 2015 г., 11:52:15

ZF2. Как скачать файл по ссылке.

Категория: Программир

Опубликовано: Да

/**
 * Скачать файл по ссылке в указанную папку
 * 
 * @param string $url ссылка на файл
 * @param string $uploadPath путь к папке хранения
 * 
 * @return mixed Имя скаченного файла или false в случае неудачи
 */
private function uploadImgFromUrl($url, $uploadPath) {

    $httpClient = new \Zend\Http\Client();
    $httpClient->setUri($url);
    $httpClient->setMethod('GET');

    $adapter = new \Zend\Http\Client\Adapter\Curl();
    $adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, false);
    $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false);

    $httpClient->setAdapter($adapter);

    $basename = pathinfo($url)['basename']; //имя с расширением

    $httpClient->setStream();   // will use temp file
    $response = $httpClient->send();

    copy($response->getStreamName(), $uploadPath . "/" . $basename);    // copy file

    if ($response->isSuccess()) {
        return $basename;
    }

    return false;

}


Теги: