Загрузка файла с URL - PullRequest
       1

Загрузка файла с URL

0 голосов
/ 03 октября 2018

Привет, ребята :) Как я могу загрузить файл с URL?(Я прочитал много вопросов, говорящих об этом, но ничего не работает ...) Вот мой код:

$url = 'https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png';

$file = file_get_contents($url);
if ($file != NULL) {
    $fileName = md5(uniqid()) . '.' . $file->guessExtension();

    $file->move(
        $this->getParameter('image_directory'), $fileName
    );
}

Здесь я просто хочу скачать изображение с URL-адреса и переместить его в каталог (ясохранит путь в базе данных после), но с этим кодом у меня появляется эта ошибка:

Вызов функции-члена guessExtension () для строки

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Этот простой код загрузит и сохранит изображение в файл

<?php
$url = 'https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png';

$file = file_get_contents($url);


if ($file != NULL) {
    $pathToFolder = 'images/png/';        // just an example folder location
    $fileName = $pathToFolder . md5(uniqid()) . 'png';
    file_put_contents($fileName,$file);
} else {
    echo 'File downlaod error';
}
0 голосов
/ 03 октября 2018

file_get_contents предназначено для чтения содержимого файла (txt, xml и т. Д.).
Вместо этого следует использовать команду linux wget.Вы можете запустить его с помощью функции PHP exec.

$url = 'https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png';

//Execute wget
$file=exec("wget http://www.example.com/file.xml");
if ($file != NULL) {
    $fileName=md5(uniqid()).'.'.$file->guessExtension();
    $file->move($this->getParameter('image_directory'), $fileName);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...