2016-10-05 2 views
1

У меня есть этот URLКак загрузить и сохранить изображение из URL

'http://2.bp.blogspot.com/-LBbpkomI7JQ/VnLmeFZANgI/AAAAAAAAWhc/MsdZjtxN0HQ/s0-Ic42/RCO001.jpg ' 

Я пытался сделать некоторые поиск и сделал это

$file = fopen("C:\Users\Alex\Desktop\script.txt", "r"); 
$links = array(); 

while (!feof($file)) { 
$links[] = fgets($file); 
} 

fclose($file); 

foreach($links as $num => $link) 
{ 
echo "'".$link."'"; 
save_image("'".$link."'","'".$num."'".".jpg"); 

} 

var_dump($links); 
function save_image($inPath,$outPath) 
{ //Download images from remote server 
$in= fopen($inPath, "rb"); 
$out= fopen($outPath, "wb"); 
while ($chunk = fread($in,8192)) 
{ 
    fwrite($out, $chunk, 8192); 
} 
fclose($in); 
fclose($out); 
} 

Все URL в моем файле script.txt поэтому я храню их в массиве затем вызывая каждый URL один на один, но он говорит

failed to open stream: Invalid argument 

Все отсутствует или неправильно?

ответ

1

Вы могли бы попробовать эту реализацию (отлично работает для меня):

<?php 

$links = explode("\n", file_get_contents("C:\Users\Alex\Desktop\script.txt")); 

foreach($links as $num => $link) 
{ 
    echo $link . "\n"; 
    save_image($link, $num.".jpg"); 
} 

function save_image($inPath, $outPath) 
{ 
    $inPath = trim($inPath); 
    if ($inPath != "") { 
     file_put_contents($outPath, file_get_contents($inPath)); 
    } 
} 

предполагается, что ваш script.txt выглядит следующим образом

http://2.bp.blogspot.com/-LBbpkomI7JQ/VnLmeFZANgI/AAAAAAAAWhc/MsdZjtxN0HQ/s0-Ic42/RCO001.jpg 
1

В этой строке:

$file = fopen("C:\Users\Alex\Desktop\script.txt", "r"); 

Ваши обратные косые могут быть преобразованы в специальные символы с помощью PHP, это может вызвать проблемы, поэтому посмотреть на эту тему: failed to open stream: Invalid argument

Вторая вещь: Возможно, возникла проблема с fopen configuration

Редактировать php.ini и установить:

allow_url_fopen = On 

Вы можете проверить это значение (вероятно, это ложь):

var_dump(ini_get('allow_url_fopen')); 

Вам нужно поговорить с вашим веб-хостинга, или попробовать другой метод. Mabye CURL включен?

Вы также должны проверить свои значения display_errors и error_reporting. PHP должен был громко жаловаться на то, что не смог открыть URL-адрес.

+0

Это на уже! – Alex

Смежные вопросы