Yanıtlar:
Olarak allow_url_fopen
ayarladıysanız true
:
$url = 'http://example.com/image.php';
$img = '/my/folder/flower.gif';
file_put_contents($img, file_get_contents($url));
Başka kullanım cURL :
$ch = curl_init('http://example.com/image.php');
$fp = fopen('/my/folder/flower.gif', 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
$_GET
görüntünün URL'sini içeren bir değişken kullanmak demektir http://example.com/fetch-image.php?url=http://blabla.com/flower.jpg
. Bu örnekte söz konusu olduğunda, sadece diyebiliriz $_GET['url']
şöyle, PHP komut: $ch = curl_init($_GET['url']);
.
copy('http://example.com/image.php', 'local/folder/flower.jpg');
allow_url_fopen
).
$content = file_get_contents('http://example.com/image.php');
file_put_contents('/my/folder/flower.jpg', $content);
İşte, örnek uzak resmi image.jpg dosyasına kaydeder.
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);
}
save_image('http://www.someimagesite.com/img.jpg','image.jpg');
Vartec'in cURL ile yanıtı benim için işe yaramadı. Benim özel sorunum nedeniyle hafif bir iyileşme ile yaptı.
Örneğin,
Sunucuda bir yönlendirme olduğunda (facebook profil resmini kaydetmeye çalıştığınız gibi) aşağıdaki seçenek kümesine ihtiyacınız olacaktır:
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
Tam çözüm:
$ch = curl_init('http://example.com/image.php');
$fp = fopen('/my/folder/flower.gif', 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch);
curl_close($ch);
fclose($fp);
Çalışmak için diğer çözümlerden hiçbirini alamadım, ancak wget'i kullanabildim:
$tempDir = '/download/file/here';
$finalDir = '/keep/file/here';
$imageUrl = 'http://www.example.com/image.jpg';
exec("cd $tempDir && wget --quiet $imageUrl");
if (!file_exists("$tempDir/image.jpg")) {
throw new Exception('Failed while trying to download image');
}
if (rename("$tempDir/image.jpg", "$finalDir/new-image-name.jpg") === false) {
throw new Exception('Failed while trying to move image file from temp dir to final dir');
}
file()
PHP Kılavuzuna bakın :
$url = 'http://mixednews.ru/wp-content/uploads/2011/10/0ed9320413f3ba172471860e77b15587.jpg';
$img = 'miki.png';
$file = file($url);
$result = file_put_contents($img, $file)
wkhtmltoimage'i sunucunuza yükleyin, ardından hedefinizin url'sinden bir resim oluşturmak için packagegist.org/packages/tohidhabiby/htmltoimage paketimi kullanın.
file_put_contents
vb