PHP GD kütüphanesi w / w / sunucu üzerinde tasarruf veya src = "script.php" olan o dinamik görüntüsünü yüklemek nasıl?

3 Cevap php

Ben bir komut dosyası dinamik bir görüntü oluşturmak istiyorum, ve sonra sunucu üzerinde kalıcı olmadan tarayıcı yüklemek gerekir.

O, sadece tekrar tekrar sayfayı ve verileri üreten komut dosyası çalıştıran gerektirecektir beri Ancak, ben sadece grafik üretecektir son verileri almak için, görüntünün src = "script.php" ayarlayarak bu diyemem.

Görüntünün src = "script.php" ayarı benzer olduğunu, ancak başka bir komut dosyası içinde denir ve sadece kaydetmeden görüntüyü gönderir bunu yapmanın bir yolu var mı? Ben bu dinamik bir görüntü oluşturmak amacıyla, biçimlendirme oluşturmada kullanılan veri erişimi gerekir.

Değilse ya, sayfa yüklendikten sonra görüntüyü yok etmek için en kolay yolu nedir? Hızlı bir ajax arama?

Diğer bazı komut dosyası için kullanılabilir olması için bazı sınırlı zaman dilimi için belirli verileri önbelleğe için herhangi bir yolu var mı?

Ben gerçekten zor bir zaman bu doğru çözüm bulma yaşıyorum Herhangi bir fikir olarak büyük mutluluk duyacağız ...

Teşekkürler!

3 Cevap

You can inline the image into a <img> tag if you need to.
Like

<?php
$final_image_data; // Your image data, generated by GD
$base64_data = base64_encode($final_image_data);
echo "<img src=\"data:image/png;base64,{$base64_data}\" ... />";
?>

İşte tüm modern tarayıcılarda çalışmak ve IE8 gerekir. (Biri için Outlook,) Tho bazı e-posta istemcileri ile iyi çalışmaz.

Ayrıca, buldum başka bir çözüm daha sonra görüntü etiketi bir php script çağrıldığında bir oturum değişkeni görüntü saklamak için. Bu kullanıcıya özel görüntü servis, ve sonra komut dosyası tarafından bellekten kaldırılacak sağlayacak ... Bu da pis img src = "" etiketleri önler ...

Umarım o birine yardımcı olur.

Bir yeniden yazma kuralı kullanın.

RewriteRule ^magicimage.jpg$ /myscript.php

Sonra sadece yerine diske yazma, gd gelen görüntü verilerini yankı - Uygun image*() fonksiyonu bir dosya adı sağlayarak değil gibi basit olan

myscript.php

<?php
$im = imagecreatetruecolor($w, $h);
//...do gd stuff...

header('Content-type: image/jpeg');
//this outputs the content directly to the browser 
//without creating a temporary file or anything
imagejpeg($im);

Ve son olarak, yukarıda kullanmaktadır

display.php

<img src="magicimage.jpg">