2016-03-04 6 views
0

Мне нужно получить файл изображения с внешней ссылки и сохранить в моей локальной папке.Получить файл с внешней ссылки и сохранить на локальный сервер

Я использовал следующее:

$value1 = "https://images.airlist.com/0008459/Listing/129128/3350520160227084506.JPG%3Fv=1?v=1"; 

$img_file = file_get_contents(str_replace("?v=1","",$value1)); 
$file_handler = fopen($file_loc,'w'); 
if(fwrite($file_handler,$img_file)== false) 
    { 
      echo 'error'; 
    } 
    fclose($file_handler); 
    } 

изображение хранится в формате, как:

3308420160227084509.JPG% 3Fv = 1-50x50.jpg% 3fv = 1

+0

использование 'file_put_contents (НАЗНАЧЕНИЯ, file_get_contents (URL))' – treegarden

+1

ли ваш фактический код? Вы должны поместить некоторую цитату вокруг URL-адреса ... – PeterPan666

+0

Здесь изображение хранится как (2997720160227084507.JPG% 3Fv = 1); неподдерживаемый формат. не может открыть файл. – soniya

ответ

0

Я бы сделал что-то вроде:

$url = "https://images.airlist.com/0008459/Listing/129128/3350520160227084506.JPG%3Fv=1?v=1"; 
$file = explode('?', $url)[0]; // get everything on the left site from the ? 
$file = explode('%', $file)[0]; // get everything on the left site from % 
$filename = basename($file); // get only the filename 
$fileContent = file_get_contents($url); // get image content 
file_put_contents($filename, $fileContent); // write image content to filename 
+0

Если предположим, что я удаляю% 3Fv = 1. Изображение отсутствует из ссылки. – soniya

+0

, когда я удаляю% 3fv = 1. I Got Указанный blob не существует. RequestId: 71bb7efd-0001-001b-140c-7656a5000000 Время: 2016-03-04T11: 56: 19.2772739Z. – soniya

+0

Я исправляю свой ответ и даю вам полный код – Candyman1332

0

Вы не ответили на мой комментарий час назад, но я пойду по предположению, что вы хотите загрузитьи сохранить это как 3350520160227084506.JPG.

<?php 

$value1 = "https://images.airlist.com/0008459/Listing/129128/3350520160227084506.JPG%3Fv=1?v=1"; 

// Take the basename (3350520160227084506.JPG%3Fv=1?v=1) 
// And remove anything starting from either a percent sign (%) or a question mark (?) 
$fileName = preg_replace('~[%?].*$~', '', basename($value1)); 

// $fileName = string(23) "3350520160227084506.JPG" 

file_put_contents($fileName, file_get_contents($value1)); 
Смежные вопросы