emlak21 adlı üyeden alıntı: mesajı görüntüle
Merhaba Arkadaşlar
Emlak scripttim için PHP Resim yükleme, yüklenen resimlerden 1. ci, 2. ci gibi seçim yapma, resimleri istenilen boyutlara ayarlama ve resimlerin ismini Veritabanına yazma gibi bir uygulama arıyorum, bu konuda yardımcı olabilirmisiniz.
teşekkürler.
Not : Bir çok library mevcut, ben kullandığım tekniği yazdım, eğer ki sorunuza yanlış cevap vermişsem kusura bakmayın.

Merhabalar,

Ben de hali hazır da emlak yazılımı yapmaktayım. Ben şu mantığı kullandım,

Toplam da her ilana 50 resim yükleme izni veriyorum, benim scriptim de yönetici eklediği için sıkıntı olmuyor, eğer siz de üyeler ekleyecekse 10 yapın.

Bir adet p_image diye klasörüm mevcut. İlanların resmini databaseye kayıt etmiyorum. Örneğin, 2 numaralı ilanın resimleri şu şekilde

2_0.png
2_1.png
2_2.png
....

Böyle devam ediyor. Yönetim panelinden ayrıyeten bir adet ana resim seçmesini istiyorum yöneticiden. Yani her yer de o gösterilecek. Yönetici ana resmi seçince de örneğin 2 ci resmi seçtiyse bunu databaseye ilan_anaresmi = 2 olarak kayıt ediyorum. Sonrasında,

2_0.png
2_1.png
2_2.png
2_2_kucuk.png

Şeklinde thumbnail - 300x300 şeklinde alıyorum. Bunu da her yer de gösteriyorum. Bunun dışında yönetim sayfasında resimleri vb. gösterirken

glob("p_image/".ILANID."_*.png");

Şeklinde resimleri çekiyorum. Her veri çekimini cachelediğim için saatte 1 kere bu işlemler yapılıyor. Bunun dışında her girişte veri çekilmiyor. Yönetimden veri girişi sağlanınca tüm resim cachesini siliyorum.

Yukarıda ki algoritma sayesinde de eğer ki 1 ci resmi silersen sonra ki resim yüklemesinde direkt 1 ci resmin yerine yazıyor. Boş olduğu için. Yani mantık, bir otobüs sistemi gibi. Koltuklar var, sırasıyla koltuğa istediğin kişiyi koyabiliyorsun. Eğer ki koltuklardan biri boşalırsa, sonra ki kişiyi oraya oturtuyorsun.

Umarım yardımcı olur, şahsen ben sorun yaşamıyorum.


Bahsi geçen fonksiyon:


	$c = 2;
	$projek = $this->db->query("SELECT * FROM projeler WHERE id = '".$c."'",PDO::FETCH_ASSOC)->fetch();
	if(!$projek) exit;
	foreach($_FILES['files']['name'] as $key=>$val){
		$k = -1;
		for ($i = 0; $i<=50; $i++):if(!file_exists(getcwd()."/p_image/".$c."_".$i.".png")):$k = $i;break;endif;endfor;
		if($k < 0) break;
		$target_dir = "p_image/";
		$target_file = $target_dir.$c."_".($k).".png";
		move_uploaded_file($_FILES['files']['tmp_name'][$key],$target_file);
	}