Muradiye Forum
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Aşağa gitmek
CRUEL
CRUEL

PHP Kod Arşivi S_mod10
Erkek Yay
Maymun
Mesaj Sayısı : 1345
Doğum tarihi : 18/12/80
Yaş : 43
Nerden : istanbul
İş/Hobi : elektrik teknisyeni
İleti : format
Bilgi :
Muradiye Forum Bilgi Paylaşım PlatformuRep Gücü : 0
Rep Puan : 208
Kayıt tarihi : 28/10/08
http://muradiyeforum.net

PHP Kod Arşivi Empty PHP Kod Arşivi

Çarş. Kas. 05, 2008 11:50 pm
Gösterge Fonksiyonu:
Değişken yada dizi içeriklerini gösterir. Herhangi bir bağımlılığı yok.

Prototip:
boş Gosterge(karışık)

PHP- Kodu:
Kod:
".htmlspecialchars(print_r($var,true)).""; else echo "
".htmlspecialchars($var)."
"; } ?>
Örnek:

PHP- Kodu:
Kod:


Dizi Görüntüle
Tek boyutlu bir diziyi alarak onu bir tablo içerisinde görüntüler. Bunu geliştirip db'den çekilen verileri'de tablolayabiliriz.

Prototip
boş dizi_goruntule(veri dizi)

PHP Kodu:
Kod:
function dizi_goruntule($veri){
echo "";
reset($veri);
$deger = current($veri);
while ($deger){
echo "\n";
$deger = next($veri);
}
echo "
$deger
";
}
?>

Örnek


PHP- Kodu:$dizim = array("satır 1","satır 2","satır 3");
dizi_goruntule($dizim);
?>

Veritabanı Sınıfı

Açıklama:
Yaptığım çalışmalarda kullanmak için yazmış olduğum bir projeden bağımsız veritabanı objem var.Temel özellikleri, bağlantı açmak-kapamak, sorgu göndermek-karşılamak, hafızayı temizlemek, işlem ve hata logları tutmak gibi şeyler.En büyük avantajı ise bir işlem yaparken
$sorgu = @mysql_query('SELECT alan FROM tablo') or die('Hata');
şeklinde degilde
$vt->sql_sorgu('SELECT alan FROM tablo');
ifadesinin yetiyor olması, nesne tabanlı olduğu için siz bunu yapınca zaten hata oluşursa gerekeni yapıyor ve tüm sorguları ayrı bir log dosyasında tutuyor.İncelemenizi tavsiye ederim.Yalnız şöyle birşeyde ekledim sorgu loglarını tutarken, sorgu cümlesinin yanında $sorgu değerinide kaydettirdiğim için log dosyasına bakınca resource id #2 gibi bir ifade gozüküyor.silecektim ama hoş duruyo dedim kalsın bari Nesne:


PHP- Kodu:

Kod:

/*
Veritabanı Nesnesi
-----------------------
Dosya: [INC]veritabani.php
Yazan: Pan
Tarih: 13 Temmuz 2004
İşlev: Çok fonksiyonlu veritabanı nesnesi.
*/

### Veritabanı değişkenleri ve ayarları ###
$vt['alan'] = 'localhost'; // Veritabanının çalıştığı alan
$vt['yonetici'] = 'root'; // Veritabanı yöneticisinin kullanıcı adı
$vt['yonetici_sifre'] = ''; // Veritabanı yöneticisinin şifresi
$vt['kullan_vt'] = 'deneme'; // Kullanılacak veritabanı adı
$vt['hata_log'] = '../loglar/vt_hata.log'; // Hata kayıtlarının tutulacağı dosya
$vt['islem_log'] = '../loglar/vt_islem.log'; // Veritabanına yapılan sorguların tutulacağı dosya
$sql['varsayilan_satir'] = 0; // Sorgudan tek satır çekilirken, satır belirtilmezse, varsayılan olarak kullanılacak satır numarası
$sql['varsayilan_sutun'] = 'id'; // Yukarıdakinin, numara değilde, sütun olan hali

### Veritabanı Nesnesi ###
class Veritabani {
# Nesne Değişkenleri #
var $vt_baglanti; // Veritabanı bağlantısı yapıldıktan sonra, bağlantı numarası bu değişkene atanır
var $vt_secim; // Veritabanı seçimi yapıldıktan sonra, dönen değer buraya atanır
var $tarih; // Nesne çağrıldığı andaki tarihi tutar
var $dosya; // Şuanda üzerinde çalışılan dosya yolu ve ismini tutar
var $sonsorgu; // Son yapılan SQL sorgusunu tutar
# Nesne Fonksiyonları #
function Veritabani() { // Nesne çağrıldığında dosya ile ilgili belirlemeleri yapar
$this->tarih = date('d/m/Y H:i');
$this->dosya = __FILE__;
}
function vt_baglan() { // Veritabanı bağlantısı sağlar ve kullanılacak veritabanını seçer
global $vt;
if (!$vt['baglanti'] = @mysql_connect($vt['alan'], $vt['yonetici'], $vt['yonetici_sifre'])) {
$this->vt_hata(mysql_errno(), mysql_error());
}
if (!$vt['secim'] = @mysql_select_db($vt['kullan_vt'])) {
$this->vt_hata(mysql_errno(), mysql_error());
}
$this->vt_baglanti = $vt['baglanti'];
$this->vt_secim = $vt['secim'];
return $this->vt_baglanti;
}
function vt_kapat() {
if (!$kapat = @mysql_close($this->vt_baglanti)) {
$this->vt_hata(mysql_errno(), mysql_error());
}
return $kapat;
}
function vt_hata($hatano, $hata) { // Veritabanı hata raporu tutar ve bunları dosyada saklar
global $vt;
$hata_mesaj = "Hata Tarihi: <".$this->tarih.">\r\nHatalı Dosya: <".$this->dosya.">\r\nHata No: <$hatano>\r\nHata: <$hata>\r\n--------------------------------------------\r\n";
$hatalog_dt = @fopen($vt['hata_log'], 'a+');
if ($hatalog_kaydet = @fputs($hatalog_dt, $hata_mesaj)) {
$donen_deger = 1;
} else {
$donen_deger = 0;
}
@fclose($hatalog_dt);
$mesaj_goster = '

Veritabanı Hatası


Üzgünüz, servislerimizde bir veritabanı hatası oluştu, hata site yöneticisine bildirildi.

Lütfen siteye, daha sonra tekrar geliniz, teşekkür ederiz.

';
die($mesaj_goster);
return $donen_deger;
}
function vt_log($sorgu_cumle, $sorgu) { // Veritabanına yapılan sorguların raporunu tutar
global $vt;
$log_kayit = "İşlem Tarihi: <".$this->tarih.">\r\nİşlem Yapılan Dosya: <".$this->dosya.">\r\nSorgu Cümlesi: <$sorgu_cumle>\r\nSorgudan Dönen Değer: <$sorgu>\r\n--------------------------------------------\r\n";
$log_dt = @fopen($vt['islem_log'], 'a+');
if ($log_kaydet = @fputs($log_dt, $log_kayit)) {
$donen_deger = 1;
} else {
$donen_deger = 0;
}
@fclose($log_dt);
return $donen_deger;
}
function vt_hafiza($sorgu = '') { // Sorgudan dönen veri varsa, bunlar için hafıza ayrılır, nu fonksiyon o hafizayı boşaltır
if ($sorgu == '') {
$sorgu = $this->sonsorgu;
}
if (!$temizle = @mysql_free_result($sorgu)) {
$this->vt_hata(mysql_errno(), mysql_error());
}
$this->sonsorgu = NULL;
return $temizle;
}
function sql_sorgu($sorgu_cumle) { // Veritabanına, SQL sorgusu gönderir
if(!$sorgu = @mysql_query($sorgu_cumle)) {
$this->vt_hata(mysql_errno(), mysql_error());
}
$this->vt_log($sorgu_cumle, $sorgu);
$this->sonsorgu = $sorgu;
return $sorgu;
}
function sql_satircek($sorgu = '', $satir = '', $sutun = '') { // Yapılan sorgudan dönen değeri tek satır olarak alır (bkz: mysql_result())
global $sql;
if ($sorgu == '') $sorgu = $this->sonsorgu;
if ($satir == '') $satir = $sql['varsayilan_satir'];
if ($sutun == '') $sutun = $sql['varsayilan_sutun'];
if (!$satircek = @mysql_result($sorgu, $satir, $sutun)) {
$this->vt_hata(mysql_errno(), mysql_error());
}
return $satircek;
}
function sql_toplamkayit($sorgu = '') { // Bir sorgudan dönen toplam kayıt sayısını verir
if ($sorgu == '') $sorgu = $this->sonsorgu;
if (!$toplamkayit = @mysql_num_rows($sorgu)) {
vt_hata(mysql_errno(), mysql_error());
}
return $toplamkayit;
}
}

### Nesne Testi ###
$Vt = new Veritabani;
$Vt-> vt_baglan();
$Vt-> sql_sorgu('SELECT isim FROM personeller LIMIT 1');
$satir = $Vt-> sql_satircek('', '', 'isim');
$Vt-> vt_hafiza();
$Vt-> vt_kapat();
echo $satir;
?>

Dizin Listeleme Fonksiyonu:
Yolu verilen bir dizin icerisinde yer alan dizinleri listelemek icin kullanilabilir.


PHP- Kodu:
Kod:

function dizinlistele($yol) {
$dizinac = opendir($yol);
while ( gettype ($dizin = readdir($dizinac) ) != boolean ) {
if ( is_dir("$yol/$dizin") ) {
if ( ($dizin != ".") AND ($dizin != "..") ) {
echo (ucwords($dizin)."
");
}
}
}
closedir ($dizinac);
}

Bu listelemeleri, fonksiyon icerisinde bir seklinde ya da seklinde hazirlayabiliriz ihtiyacimiza gore. Form elemaninda listeletmek, yahut link olarak kullanmak icin.

Ornek:

Kod:

dizinlistele("./listelenecek_dizin");
?>

E-Mail Kontrol Fonksiyonu
Değişkende yer alan mail adresinin standartlara uyup uymadığını kontrol eder.

PHP- Kodu:
Kod:
function mail_kontrol($email) {
if (!eregi ("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}$", $email))
die ("E-Mail Adresiniz Geçersiz");
}

Örnek :


PHP- Kodu:
Kod:

$ilk_mail = "kafayi7m@hotmail.com";
mail_kontrol($ilk_mail);
// hiçbir hata vermez

$ikinci_mail = "hebele_hubele";
mail_kontrol($ikinci_mail);
// hata verir
?>

Dizindeki dosyaları drop down listede göstermek.
Kod:



Dizindeki Dosyaları Alfabetik Olarak Listeleyen Kod Bloğu

Belli bir klasörde bulunan dosyalarımızı listelettirdiğimizde, alfabetik sıraya göre değilde o dosyaların oluşturulma yahut değiştirilme tarihine göre listeleme yapılır. Aşağıdaki kod bloğu yardımıyla alfabetik sıralama yapabiliriz.


PHP Kodu:
Kod:

$dizi = array(); // yeni ve boş bir dizi değişkeni tanımlıyoruz.
$dizin = "D:\mp3"; // hangi dizinin dosyaları listelenecek?
$ac = opendir($dizin);

echo("

$dizin Dizinindeki Tüm Dosyalar

");

# bütün dosyaları dizi değişkenine atıyoruz. bu işlemi yaparken,
# bir üst dizini temsil eden "." ve ".." değerlerini bir if deyimi
# yardımıyla dizi haricinde tutuyoruz.
while($x=readdir($ac)) {
if ($x != "." && $x != "..") {
$dizi[] = $x;
}
}

sort($dizi); // dosyaları alfabetik sıraya alıyoruz.

echo("");

# dosya listesini basit bir foreach ile ekrana basıyoruz.
foreach($dizi as $x => $y) {
echo("");
}

echo("
$x.$y

");
echo("toplam dosya: ");
echo "".count($dizi).""; // toplam dosya sayısını basıyoruz.

closedir($ac);
?>

Alıntı ile Cevapla
Kod:
Sayfa başına dön
Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz