Arama butonu
Bu konudaki kullanıcılar: 1 misafir
12
Cevap
518
Tıklama
0
Öne Çıkarma
phpde datadaki resmi gösterme?
S
20 yıl
Yüzbaşı
Konu Sahibi

php ile mysql database atılmış bir resmi gösterirken ne yazmam gerekirki onu oradaki resme çevirsin...

tablodaki yapısı aşağıdadır..

`buyukresim` mediumblob NOT NULL,

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



G
20 yıl
Yarbay

header("Content-type: image/gif");

bunu altina mysql den datayı çek ve "echo" la.
header dan önce herhangi bir çıktı oluşturmamaya dikkat et


Bu mesaja @cera cevap verdi.
C
20 yıl
Yüzbaşı

bu mysql'e nasıl resim gömebilirim ?.


Bu mesaja 1 cevap geldi.
G
20 yıl
Yarbay

$dosya_adi = "c:\cicekler.jpg";
$fp = fopen($dosya_adi, 'r');
$dosya_icerigi= fread($fp, filesize($dosya_adi));
$dosya_icerigi= addslashes($dosya_icerigi);
fclose($fp);

kodu ile resim dosyasının içeriği yani data kısmı alınır.

"INSERT INTO resimler (,dosya_adi,dosya_icerigi ) VALUES ('$dosya_adi','$dosya_icerigi')"

gibi bir sorgu ile de mysql e kaydedilir. daha sonra buraya kayıt edilen data bir üst mesajda gösterdiğim şekli ile, header ile resme dönüştürülür...


Bu mesaja @cera cevap verdi.
C
20 yıl
Yüzbaşı

peki veritabanına getirdiği yük nedir ne gibi durumlarda kullanılması faydalı olur bu konularda da yardımcı olursan sevinirim cezve teş.


Bu mesaja 1 cevap geldi.
G
20 yıl
Yarbay

kolay yönetilmesi, hızlı ve komplike arama, dosyalama problemlerinden kurtulma gibi özellikler avantajları sayılabilir. lakin normalde apache nin kendi başına halledebilecegi bir olaya bir de mysql i sokmak pek akıllıca da değil. mysql devreye girdigi için bir de database çalıştırmış olacaksın ki bu da zaman ve işlem kaybıdır. tabi bu tur durumlar uygulanacağı yere göre tartışılabilir. örneğin binlerce resim içerecek bunların sınıflandırılması gerekecek bir proje için resimleri databaselemek oldukça pratik bir çözüm olur.


Bu mesaja @acayip cevap verdi.
A
20 yıl
Yüzbaşı

Çok özel ve gerekli olmadıkça veritabanına resim yüklemeyin.Sadece resimin adını yüklersiniz, lazım olunca ismini link verirsiniz.Aksi takdirde boş yere veritabanını işgal etmiş olursunuz.Düşünün ki bir resim ortalama 25-30 Kb hadi 10-15 kb olsun 1000 tane resim demek kafadan 10-15 MB yer demektir ki bu veritabanı için büyük bir rakamdır.


Bu mesaja 1 cevap geldi.
K
20 yıl
Yüzbaşı

10-15 mb bir veritabanı için hiçbirşey değildir..


Bu mesaja 1 cevap geldi.
A
20 yıl
Yüzbaşı

quote:

Orijinalinden alıntı: kucukadam

10-15 mb bir veritabanı için hiçbirşey değildir..


Arkadaşım senin 50 byte yer ayırmakla ile yapabileceğin bir işe gereksiz yere 25KB ayırmak mantıklı mı yani.Sorgu yapacaksın bilmem kaç MB içinde arayıp bulacaksın , veritabanından data olarak sunucuya aktaracaksın php ile işleyip browsere göndereceksin.

Gereksiz olduğu için elbetteki büyük bir rakamdır.


Bu mesaja 1 cevap geldi.
N
20 yıl
Yüzbaşı

Php şu zamanın en hızlı web programlama dili olsa bile bunun da bi sınırı var

Adamlar mysql i kendi bilgisayarlarında deniyolar 4 gb dan sonra çatlıyo

Siz serverda 15 - 20 mb ne demek biliyo musunuz

bence genede sadece isimleri tutun


Bu mesaja 1 cevap geldi.
Y
20 yıl
Yüzbaşı

Evet sadece isimlerini ve url'lerini veritabanında saklamak daha mantıklı...


Bu mesaja 1 cevap geldi.
S
20 yıl
Yüzbaşı
Konu Sahibi

dataya kaydedebiliyoruz.
ancak belirleyeceğimiz dizin altına nasıl kaydederiz.
linkide dataya kaydedeceğiz..


Bu mesaja 1 cevap geldi.
C
20 yıl
Yüzbaşı

function dosya_yukle($yuklenecek)
{
if(!$yuklenecek) return 'Dosya Yok!';
if($yuklenecek['size']==0) 'Boyut Geçersiz';
$d_ad="test";
if(!copy($yuklenecek['tmp_name'],$d_ad)) return 'OLMADI';
return 'OLDU';
}

if( $_GET[islem]=="yukle")
{
echo dosya_yukle($_FILES['dosya']);
}



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.