Mesajlar etiketlendi veritabanı

Upload edilen resmi Veritabanına kaydettirmek

1. Adım : Sunucuya dosya göndermek
Sunucuya dosya gönderebilmek için gerekli input tipi file dır. yani,

<input type=”file” name=”dosya”>

yazdığımız anda, bize göz at penceresi sunacaktır. Ancak dosyanın sunucuya ulaşabilmesi için, form tagına – enctype=”multipart/form-data” – eklenmelidir. yani örnek bir form oluşturacak olursak;

<form name=”yuklemeformu” method=”post”  action=”yukleme.php” enctype=”multipart/form-data”>
<input type=”file” name=”dosya”>
<br>
<input type=”submit” name=”Gönder”>
</form>

işte sadece html kullanarak yaptığımız form ve doğru bir action adresi, sunucuya dosya yollamamız için yeterlidir. artık formu dolurduğunuzda, istediğiniz dosya, ekstra bir işleme gerek kalmadan sunucunuzn geçici klasörüne atılacaktır.

2. Adım : Geçici klasörde bulunan dosyalarla çalışmak.
Şimdi action gönderdiğimiz, yukleme.php yi kodlamaya başlayalım. Öncelikle dosyanın geçici klasöre gittiğinden emin olalım.

if(empty($_FILES['resim']['tmp_name']))
die(“Dosya yüklenemedi”);

Artık dosyanın sunucuda olduğunu varsayarak devam ediyoruz ve madem ki diyoruz, yüklediğimiz dosya bir resim dosyası idi, bilgilerini alalaım diyoruz.

$bilgi = getimagesize($_FILES['resim']['tmp_name']);
// resim bilgilerini alan komut
$genislik=intval($bilgi['0']);
$yukseklik=intval($bilgi['1']);
$uzanti=$bilgi['mime'];
if ($genislik==0)
die(“Yükleme çalıştığınız dosya bir resim değil!!!”);

Değişken isimlerinden de anlayacağınız gibi, dosyanın uzanti, genislik ve yükseklik bilgilerini getimagesize fonksiyonu ile aldım. Siteler genel de sayfa genişlemesinden şikayetçi olurlar. o halde biz de belirli bir limit koylaım genişlik için.

if ($genislik>$maxgenislik){
$oran=$genislik/$maxgenislik;
$yenigenislik=$maxgenislik;
$yeniyukseklik=$yukseklik/$oran;
} else {
$yenigenislik=$genislik;
$yeniyukseklik=$yukseklik;
}

Eğer bulduğumuz genişlik, bizim maxgenislik olarak belirlediğimiz değerden daha yüksekse, elimizdeki genişliği, maksimum genişliğe böl, elde ettiğimiz sayıyı, katsayı kabul et ve yüksekliği bu katsayıya bölerek yeni yükseklik değerini bul. Bu saye de resim ebatlarını bozmamış oluyoruz. Şimdi de resim işlemlerine başlayalım. Öncelikle,

$kaynak=imagecreatefromjpeg(($_FILES['resim']['tmp_name']);
// text halinde görünen dosyayı resim haline getirdik ve kaynak değişkenine atadık (UYARI: sadece jpeg uzantısı için)
$hedef= imagecreatetruecolor($yenigenislik,$yeniyukseklik);
// yeni hesapladığımız ebatlarda boş bir resim sayfası oluşturduk (NOT: FOTOĞRAF GİBİ GERÇEK RENKLERİ DE DESTEKLER)
imagecopyresized($hedef, $kaynak, 0, 0, 0, 0, $yenigenislik, $yeniyukseklik, $genislik, $yukseklik);
// hedefteki dosyayı 0 a 0 koordinatlarından alıp, yeni ebatlara göre, hedefteki resime 0a 0 koordinatlarından koydurduk.

Artık hedef değeri istediğimiz kıvama geldi. Şimdi de üzerine yazı ekleyelim
$metin_rengi = imagecolorallocate($hedef, 239, 11, 12); // bu numaralı değiştirebilirsinz, kırmızı rengidir bu
$font=imageloadfont(“font.gdf”); // eğer fontunuz var ise bu şekilde linux fontu yükleyebilirsiniz. (NOT: sunucum da true type font desteği olmadığı için bunu kullandım)
$font=4; // eğer font kullanmıyor ya da kullanamıyorsanız bu satırı kullanın. 4 büyüklüktür, değiştirebilirsiniz.
$x=0; // yazıyı yazmaya başlayacağım x koordinatı
$y=0; // yazıyı yazmaya başlayacağım y koordinatı
$yazi=”SEYRANLI”;
imagestring($hedef ,$font, $x,$y, $yazi, $metin_rengi);
// bu satırla beraber yazıyı resime eklemiş bulunuyoruz.
ob_start();
// verileri tampona alıyorum
Imagejpeg($hedef);
// resim oluşturuyorum
$resim=ob_get_contents();
// şu ana kadar tamponda tuttuğum ekran çıktılarını, resim değişkenine alıyorum
ob_end_clean();
// tamponu boşaltıyorum
imagedestroy($hedef);
// özel ebatlarda hazırladğımız, içine resmi yerleştirdiğimiz ve yazımızı eklediğimiz resim dosyası ile işimiz bitti, imha ediyoruz :)

3. Adım : Değişkendeki resmi kaydetme

Bütün işlemlerimizi yaptığımıza göre, dosyamızı kaydedip içimizi rahatlatmamız lazım.
önümüzde iki seçenek var,
1. resmi ftp ye kaydetmek
2. resmi veritabanına kaydetmek

resmi ftp ye kaydetmek:
Resmi ftp ye kaydedebilmeniz için, bir klasöre chmod 777(yazma izni) vermelisiniz. Bunu ftp programları ile yapabieceğiniz gibi, dosya içerisinden de yapabilrisiniz.
$ftp_kullanici =’seyranli’;
$ftp_sifre = ‘123456′;
$ftp_dosya = ‘/public_html/resimler’;
$ftp_server = ‘ftp.seyranli.com’;
$conn_id = ftp_connect($ftp_server);
// ftp ye bağlantısı açtık
$login_result = ftp_login($conn_id, $ftp_kullanici, $ftp_sifre);
// ftp ye kullanıcı girişi yaptık
@ftp_site($conn_id, ‘CHMOD 777 ‘ . $ftp_dosya);

Bu komutlarla dosyaya chmod 777 yani yazma izni verdik. şimdi resmimizi kaydedelim.

$dosya_adi=time().’.jpeg’;
// zamana göre dosya adı belirledik
$dosya = fopen($dosya_adi, ‘w’);
// içine kayıt yapmak üzere yeni bir dosya oluşturduk
@fwrite($dosya, $resim);
// dosya içine resim değişkenindeki bilgileri yazdırdık
@fclose($dosya);
// dosyayı kapattık
@ftp_site($conn_id, ‘CHMOD 755 ‘ . $ftp_user_root);
// klasörün yazma iznini tekrar iptal ettik
@ftp_close($conn_id);
// ftp oturumumuzu ve bağlantımızı sona erdirdik

İşte böylece resmi ftp ye atmış olduk. şimdi veritabanına kaydetmeye bakalım

Resmi veri tabanına kaydetmek.
Elimizde hala resim değişkeni içinde, resmin text hali var. bir resim dosyasını notepad tarzı programlarla açarsanız, resmin text halinden kastımı daha iyi anlarsınız. Ben bu hali veritabanına atmak istiyorum.
öncelikle bir veritabanı hazırlıyoruz.
CREATE TABLE resimler (
id int(5) NOT NULL auto_increment,
resim mediumblob NOT NULL,
PRIMARY KEY (id)
);
veritabanını hazırladığımıza göre içeriye resimleri atalım şimdi.

$resim = chunk_split(base64_encode($resim));
değişkeni base64 ile encode edip, ufak parçalara böldüm.
$sorgu = mysql_query(“INSERT INTO resimler VALUES(”,’$resim’)”);
// resmi veritabanına kaydetme kodunu da yazdık. şimdi bakalım kaydediyormu
if(mysql_affected_rows() > 0){
$numara=mysql_insert_id();
// auto_increment seçtiğimiz id yi biz vermediğimiz için, hangi id ile eklendiyse onu alıyoruz.
echo “Resim başarıyla eklendi”;
echo ‘<br><br>Forum linki<br> <input size=150 type=text readonly=1 value=”[img]http://www.seyranli.com/resim.php?id=’ . $numara . ‘[/img]“>’;
echo “<br><br>Html linki<br> <input size= 150 type=text readonly=1 value=’&lt;img src=\”http://www.seyranli.com/resim.php?id=$numara\”&gt;’>”;
echo ‘<br><br>Tam konumu<br> <input size=150 type=text readonly=1 value=”http://www.seyranli.com/resim.php?id=’ . $numara . ‘”>’;
} else
echo ‘Resim Veritabanına Eklenemedi’;

Linklerde de göründüğü gibi bir resim.php dosyasından bahsediyoruz, o halde bir de o dosyayı oluşturalım.

$id=intval($_GET[id]);
// resim.php?id=78 cinsindeki linklerden id değerini değişkene aldık
$sql = “SELECT resim FROM resimler where id=’”.$id.”‘” ;
$sorgu = mysql_query ($sql);
// id 78 olan resmi aradık
if (mysql_num_rows($sorgu)>0) {
$row = mysql_fetch_array ($sorgu);
// bulduğu taktir de row adlı bir diziye sonuç aktardık
$resim = base64_decode($row["resim"]);
// şu an zaten tek elemanlı bir dizi de olsak da, diziden resim alanını aldık, ve base64 e göre encode olduğundan, tekrar çözdük.
Header (“Content-type: images/jpeg”);
// sayfanın bir resim olduğunu belirttik
echo $resim;
// sonunda resmi ekrana yazdırdık
}
mysql_free_result($sorgu);
// mysql in tampon belleğinden sorgumuza dair olan verileri temizlettirdik.

Umarım İşinize yarar.
05 Ocak 2008 Cumartesi
Gündüz Can YILMAZ

Yorum bırakın »

Php İle mysql veritabanında arama yaptırma..!

Şimdi mysql tablomuzu oluşturuyoruz diyelim ki mysql tablomuzda sunlar var

id | veri_baslik | veri_icerik_bolum1 | veri_icerik_bolum2 | anahtar_sozcuk |

İşte dbde bu sekılde verilerimizi kayıt ettirmiş olalım Peki Şimdi Bu Verilieri Aramamız lazım onun ıcın kucuk bır arama formu yapıyoruz “arama.php” diyelim buna Form Şu Şekilde olabilir

<html>
<head><title> umutcetinkaya.com | Arama Yapma </title>
</head><form action=”aramaislem.php” name=”ara” method=”get”>
Aranacak Kelime : <input type=”text” name=”aranacak_kelime“><br><select name=”sec“><option value=”veri_1″>veri_icerik_bolum1 De Ara<option><option value=”veri_2″>veri_icerik_bolum2 De Ara<option><option value=”anahtar”>Anahtar Kelimelerde Ara<option><option value=”hepsinde”>Hepsinde Ara<option></select><br><br><input type=”submit” name=”ara” value=”ara”></form>
</html>

İşte bu şekilde bir form olusturduk ıcıne select koyduk arama yapacagımız alanları secelim dıye simdi asıl olan ikinci bolum aramaislem.php doyasında ne olcak yanı ? :) ona gecelim simdi ama ikinci sayfadan devam edelim

Evet aramaislem.php dosyasındayız.Oda Şu şekilde baslıyor tabi

<?php // PHP Code Larımıza Başladık
include(‘mysql_baglanti.php’) // Mysql Baglantısı Yaptık ..
$aranacak_kelime = mysql_real_escape_string($_GET['aranacak_kelime']); /* Aranacak Kelimeyı arama.php den cektik */
$sec =$_GET['sec']; /*Selectte nereyı sectıyse ona gore arama komutunu sectık */
if($sec==”veri_1″){

$sql= mysql_query(“SELECT * FROM sozluk WHERE veri_icerik_bolum1 like ‘%”.$aranacak_kelime.”%’”);

}elseif($sec==”veri_2″){

$sql= mysql_query(“SELECT * FROM sozluk WHERE veri_icerik_bolum2 like ‘%”.$aranacak_kelime.”%’”);

}elseif($sec==”anahtar”){

$sql= mysql_query(“SELECT * FROM sozluk WHERE anahtar like ‘%”.$aranacak_kelime.”%’”);
}elseif($sec==”hepsinde”){

$sql= mysql_query(“SELECT * FROM sozluk WHERE veri_icerik_bolum1 like ‘%”.$aranacak_kelime.”%’ or veri_icerik_bolum2 like ‘%”.$aranacak_kelime.”%’ or anahtar like ‘%”.$aranacak_kelime.”%’”);

}//Dedik Ve Arama Bolumlerını Bitirdik

Şimdi Acıklayım kı burda kı tahmın edemedıgınız yerin like ‘%”.$aranacak_kelime.”%’ like veritabanından arama yapmak ıcın kullanılan bır komut oluyor . Ve arama.php den attıgımız aranacak_kelime yi belirttiğimiz yerlerde arıyor peki nasıl arıyor bu  ‘%”.$aranacak_kelime.”%’ Şeklinde yazdıgımız ıcın Arama yaptıgımız metin yazı baslık herneyse onun ıcınde herhangi bi yerinde gecen kelimeyi arıyor daha kapsamlı yanı ornek vermek gerekırse  Şu Şekilde Aranacak Kelime : “al” olsun arama yaptırırken like komutundan sonra  ‘%”.$aranacak_kelime.”%’ Bu Tür Kodlama kullandıysak

Ali nerdeydın bugun niye gelmedin .
Evdeydim Top Aldım oynayalım mı ?
Yok ya ben oynamam.
Sakal trası olcam
O zaman Bıcak Al . =)

hehe :) ornek bıraz olmadı ama ıstedıgımı anlatmam için bole bısey gereklıydı .neyse Gecelim konuya ne demiştim eger arama yaparken like den sonra ‘%”.$aranacak_kelime.”%’ kullandıysanız Arama sonucu Su Renkliler Olcaktır .
——————————————————–
Ali nerdeydın bugun niye gelmedin .
Evdeydim Top Aldım oynayalım mı ?
Yok ya ben oynamam.
Sakal trası olcam
O zaman Bıcak Al . =)
Sen ali Soyadın Topal Dı Degıl mı :)
———————————————————
İşte umarım anladık .
Peki Alternatifim var mı ?Evet Tabiki Alternatifleri Şu Şekilde Sıralayım ve Acıklayım …
Like Komutundan sonra Şu Komutu kullanırsak ‘%$aranacak_kelime’ Bu Komutu Kullanırsak Eger Arama Sonuclarımızda $aranacak_kelime İle bıten sonucları alırız ornegımıze gore Söle ..
———————————————————
Ali nerdeydın bugun niye gelmedin .
Evdeydim Top Aldım oynayalım mı ?
Yok ya ben oynamam.
Sakal trası olcam
O zaman Bıcak Al . =)
Sen ali Soyadın Topal Dı Degıl mı :)
———————————————————
Like Komutundan sonra ‘$aranacak_kelime%’ koyarsak ise $aranacak_kelime ile başlayanları arar yani
——————————————————–
Ali nerdeydın bugun niye gelmedin .
Evdeydim Top Aldım oynayalım mı ?
Yok ya ben oynamam.
Sakal trası olcam
O zaman Bıcak Al . =)
——————————————————–
Like Komutu kullanmadan direk sorgunun uzantısına =’$aracak_kelime’ koyarsak Birebir Arama Yapar . Yani Tek ve kesine yonelik arama yapar oda sole yanı
———————————————————
Ali nerdeydın bugun niye gelmedin .
Evdeydim Top Aldım oynayalım mı ?
Yok ya ben oynamam.
Sakal trası olcam
O zaman Bıcak Al . =)
———————————————————
Birde Bunun Tam Tersini Yapan Komut Olusturursak oda Şöle Olabilir !=’%$aranacak_kelime%’
İşte Buda Aranacak Kelime Olmayanları ekrana basar yani …
—————————————
Ali nerdeydın bugun niye gelmedin .
Evdeydim Top Aldım oynayalım mı ?
Yok ya ben oynamam.
Sakal trası olcam
O zaman Bıcak AL . =)
———————————————————————
İşte bunlar mysql ‘ un Bize sundukları Peki bız acıklama felan yaptık ama arama sonuclarını ekrana basmadık oda su sekılde olur

if($sec){
echo “$aranacak_kelime<br>”;
echo “veri_icerik_bolum1<br>”;
echo “veri_icerik_bolum2<br>”;
echo “anahar”;
}else{ echo “Sonuc Bulunamadı”; }

şeklinde bişey yapabiliriz :) gerisi size kalmıs.

Hadi Selametle Kalın …
Selamün Aleyküm

Umut ÇETİNKAYA

Yorumlar (1) »

Upload edilen resmi Veritabanına kaydettirmek

1. Adım : Sunucuya dosya göndermek
Sunucuya dosya gönderebilmek için gerekli input tipi file dır. yani,

<input type=”file” name=”dosya”>

yazdığımız anda, bize göz at penceresi sunacaktır. Ancak dosyanın sunucuya ulaşabilmesi için, form tagına – enctype=”multipart/form-data” – eklenmelidir. yani örnek bir form oluşturacak olursak;

<form name=”yuklemeformu” method=”post”  action=”yukleme.php” enctype=”multipart/form-data”>
<input type=”file” name=”dosya”>
<br>
<input type=”submit” name=”Gönder”>
</form>

işte sadece html kullanarak yaptığımız form ve doğru bir action adresi, sunucuya dosya yollamamız için yeterlidir. artık formu dolurduğunuzda, istediğiniz dosya, ekstra bir işleme gerek kalmadan sunucunuzn geçici klasörüne atılacaktır.

2. Adım : Geçici klasörde bulunan dosyalarla çalışmak.
Şimdi action gönderdiğimiz, yukleme.php yi kodlamaya başlayalım. Öncelikle dosyanın geçici klasöre gittiğinden emin olalım.

if(empty($_FILES['resim']['tmp_name']))
die(“Dosya yüklenemedi”);

Artık dosyanın sunucuda olduğunu varsayarak devam ediyoruz ve madem ki diyoruz, yüklediğimiz dosya bir resim dosyası idi, bilgilerini alalaım diyoruz.

$bilgi = getimagesize($_FILES['resim']['tmp_name']);
// resim bilgilerini alan komut
$genislik=intval($bilgi['0']);
$yukseklik=intval($bilgi['1']);
$uzanti=$bilgi['mime'];
if ($genislik==0)
die(“Yükleme çalıştığınız dosya bir resim değil!!!”);

Değişken isimlerinden de anlayacağınız gibi, dosyanın uzanti, genislik ve yükseklik bilgilerini getimagesize fonksiyonu ile aldım. Siteler genel de sayfa genişlemesinden şikayetçi olurlar. o halde biz de belirli bir limit koylaım genişlik için.

if ($genislik>$maxgenislik){
$oran=$genislik/$maxgenislik;
$yenigenislik=$maxgenislik;
$yeniyukseklik=$yukseklik/$oran;
} else {
$yenigenislik=$genislik;
$yeniyukseklik=$yukseklik;
}

Eğer bulduğumuz genişlik, bizim maxgenislik olarak belirlediğimiz değerden daha yüksekse, elimizdeki genişliği, maksimum genişliğe böl, elde ettiğimiz sayıyı, katsayı kabul et ve yüksekliği bu katsayıya bölerek yeni yükseklik değerini bul. Bu saye de resim ebatlarını bozmamış oluyoruz. Şimdi de resim işlemlerine başlayalım. Öncelikle,

$kaynak=imagecreatefromjpeg(($_FILES['resim']['tmp_name']);
// text halinde görünen dosyayı resim haline getirdik ve kaynak değişkenine atadık (UYARI: sadece jpeg uzantısı için)
$hedef= imagecreatetruecolor($yenigenislik,$yeniyukseklik);
// yeni hesapladığımız ebatlarda boş bir resim sayfası oluşturduk (NOT: FOTOĞRAF GİBİ GERÇEK RENKLERİ DE DESTEKLER)
imagecopyresized($hedef, $kaynak, 0, 0, 0, 0, $yenigenislik, $yeniyukseklik, $genislik, $yukseklik);
// hedefteki dosyayı 0 a 0 koordinatlarından alıp, yeni ebatlara göre, hedefteki resime 0a 0 koordinatlarından koydurduk.

Artık hedef değeri istediğimiz kıvama geldi. Şimdi de üzerine yazı ekleyelim
$metin_rengi = imagecolorallocate($hedef, 239, 11, 12); // bu numaralı değiştirebilirsinz, kırmızı rengidir bu
$font=imageloadfont(“font.gdf”); // eğer fontunuz var ise bu şekilde linux fontu yükleyebilirsiniz. (NOT: sunucum da true type font desteği olmadığı için bunu kullandım)
$font=4; // eğer font kullanmıyor ya da kullanamıyorsanız bu satırı kullanın. 4 büyüklüktür, değiştirebilirsiniz.
$x=0; // yazıyı yazmaya başlayacağım x koordinatı
$y=0; // yazıyı yazmaya başlayacağım y koordinatı
$yazi=”SEYRANLI”;
imagestring($hedef ,$font, $x,$y, $yazi, $metin_rengi);
// bu satırla beraber yazıyı resime eklemiş bulunuyoruz.
ob_start();
// verileri tampona alıyorum
Imagejpeg($hedef);
// resim oluşturuyorum
$resim=ob_get_contents();
// şu ana kadar tamponda tuttuğum ekran çıktılarını, resim değişkenine alıyorum
ob_end_clean();
// tamponu boşaltıyorum
imagedestroy($hedef);
// özel ebatlarda hazırladğımız, içine resmi yerleştirdiğimiz ve yazımızı eklediğimiz resim dosyası ile işimiz bitti, imha ediyoruz :)

3. Adım : Değişkendeki resmi kaydetme

Bütün işlemlerimizi yaptığımıza göre, dosyamızı kaydedip içimizi rahatlatmamız lazım.
önümüzde iki seçenek var,
1. resmi ftp ye kaydetmek
2. resmi veritabanına kaydetmek

resmi ftp ye kaydetmek:
Resmi ftp ye kaydedebilmeniz için, bir klasöre chmod 777(yazma izni) vermelisiniz. Bunu ftp programları ile yapabieceğiniz gibi, dosya içerisinden de yapabilrisiniz.
$ftp_kullanici =’seyranli’;
$ftp_sifre = ‘123456′;
$ftp_dosya = ‘/public_html/resimler’;
$ftp_server = ‘ftp.seyranli.com’;
$conn_id = ftp_connect($ftp_server);
// ftp ye bağlantısı açtık
$login_result = ftp_login($conn_id, $ftp_kullanici, $ftp_sifre);
// ftp ye kullanıcı girişi yaptık
@ftp_site($conn_id, ‘CHMOD 777 ‘ . $ftp_dosya);

Bu komutlarla dosyaya chmod 777 yani yazma izni verdik. şimdi resmimizi kaydedelim.

$dosya_adi=time().’.jpeg’;
// zamana göre dosya adı belirledik
$dosya = fopen($dosya_adi, ‘w’);
// içine kayıt yapmak üzere yeni bir dosya oluşturduk
@fwrite($dosya, $resim);
// dosya içine resim değişkenindeki bilgileri yazdırdık
@fclose($dosya);
// dosyayı kapattık
@ftp_site($conn_id, ‘CHMOD 755 ‘ . $ftp_user_root);
// klasörün yazma iznini tekrar iptal ettik
@ftp_close($conn_id);
// ftp oturumumuzu ve bağlantımızı sona erdirdik

İşte böylece resmi ftp ye atmış olduk. şimdi veritabanına kaydetmeye bakalım

Resmi veri tabanına kaydetmek.
Elimizde hala resim değişkeni içinde, resmin text hali var. bir resim dosyasını notepad tarzı programlarla açarsanız, resmin text halinden kastımı daha iyi anlarsınız. Ben bu hali veritabanına atmak istiyorum.
öncelikle bir veritabanı hazırlıyoruz.
CREATE TABLE resimler (
id int(5) NOT NULL auto_increment,
resim mediumblob NOT NULL,
PRIMARY KEY (id)
);
veritabanını hazırladığımıza göre içeriye resimleri atalım şimdi.

$resim = chunk_split(base64_encode($resim));
değişkeni base64 ile encode edip, ufak parçalara böldüm.
$sorgu = mysql_query(“INSERT INTO resimler VALUES(”,’$resim’)”);
// resmi veritabanına kaydetme kodunu da yazdık. şimdi bakalım kaydediyormu
if(mysql_affected_rows() > 0){
$numara=mysql_insert_id();
// auto_increment seçtiğimiz id yi biz vermediğimiz için, hangi id ile eklendiyse onu alıyoruz.
echo “Resim başarıyla eklendi”;
echo ‘<br><br>Forum linki<br> <input size=150 type=text readonly=1 value=”[img]http://www.seyranli.com/resim.php?id=’ . $numara . ‘[/img]“>’;
echo “<br><br>Html linki<br> <input size= 150 type=text readonly=1 value=’&lt;img src=\”http://www.seyranli.com/resim.php?id=$numara\”&gt;’>”;
echo ‘<br><br>Tam konumu<br> <input size=150 type=text readonly=1 value=”http://www.seyranli.com/resim.php?id=’ . $numara . ‘”>’;
} else
echo ‘Resim Veritabanına Eklenemedi’;

Linklerde de göründüğü gibi bir resim.php dosyasından bahsediyoruz, o halde bir de o dosyayı oluşturalım.

$id=intval($_GET[id]);
// resim.php?id=78 cinsindeki linklerden id değerini değişkene aldık
$sql = “SELECT resim FROM resimler where id=’”.$id.”‘” ;
$sorgu = mysql_query ($sql);
// id 78 olan resmi aradık
if (mysql_num_rows($sorgu)>0) {
$row = mysql_fetch_array ($sorgu);
// bulduğu taktir de row adlı bir diziye sonuç aktardık
$resim = base64_decode($row["resim"]);
// şu an zaten tek elemanlı bir dizi de olsak da, diziden resim alanını aldık, ve base64 e göre encode olduğundan, tekrar çözdük.
Header (“Content-type: images/jpeg”);
// sayfanın bir resim olduğunu belirttik
echo $resim;
// sonunda resmi ekrana yazdırdık
}
mysql_free_result($sorgu);
// mysql in tampon belleğinden sorgumuza dair olan verileri temizlettirdik.

Yorum bırakın »