1. sayfa
header("Content-type: image/gif"); bunu altina mysql den datayı çek ve "echo" la. header dan önce herhangi bir çıktı oluşturmamaya dikkat et |
$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... |
peki veritabanına getirdiği yük nedir ne gibi durumlarda kullanılması faydalı olur bu konularda da yardımcı olursan sevinirim cezve teş. |
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. |
Ç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. |
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. |
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 |
Evet sadece isimlerini ve url'lerini veritabanında saklamak daha mantıklı... ![]() |
dataya kaydedebiliyoruz. ancak belirleyeceğimiz dizin altına nasıl kaydederiz. linkide dataya kaydedeceğiz.. |
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']); } |
1. sayfa
tablodaki yapısı aşağıdadır..
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜ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.