Php ’de Gelişmiş Tarih ve Saat Fonksiyonları

Slides:



Advertisements
Benzer bir sunumlar
Değişkenler.
Advertisements

Temiz Mail Yollama Yöntemi
SQL String Fonksiyonları
STRİNG FONKSİYONLARI.
PHP ile Lab Örnekleri Lab Çalışması.
Eğitim Programı Kurulum Aşamaları E. Savaş Başcı ASO 1. ORGANİZE SANAYİ BÖLGESİ AVRUPA BİLGİSAYAR YERKİNLİĞİ SERTİFİKASI EĞİTİM PROJESİ (OBİYEP)
Elektronik Posta E-posta /
Visual Basic 6.0 Ders Notları
Zamanı Ölçme Yıl Ay Hafta Gün
SQL FONKSİYONLARI.
Veri İletiminde Hata Kontrol Yöntemleri
SQL de Değişken Tanımlama
Dizi (array) değişkenleri
PHP'de formdan gelen bilgileri almak için $_GET ve $_POST değişkenleri kullanılır
VERİ TABANI ve YÖNETİMİ
Php 3. Sunum Fonksiyonlar Tarih ve Saat Fonksiyonları
Çerez(Cookie) Kullanımı Oturum Yönetimi
Dizi (ARRAY) Diziler grup halindeki değişkenler olarak tanımlanabilir. Dizi içersinde yüzlerce değişken olabilir. Dizi elemanları index adı verilen sıra.
Php Form İşlemleri.
NESNEYE YÖNELİK PROGRAMLAMA
Gmail(Google Mail) Hesabı Açma
HTML (HYPER TEXT MARKUP LANGUAGE) TEMEL ETİKETLERİ
DELEGATE OOP-UYG.
MATRİSLER ve DETERMİNANTLAR
CSS Birimleri.
İnternet Programcılığı II
KISITLAMALAR (Constraints)
METODLAR.
İnternet Programcılığı II
ÇOK BOYUTLU DİZİLER.
SQL de Değişken Tanımlama
Akış Kontrol Mekanizmaları
1. YEREL SAAT Güneşin gökyüzündeki durumuna göre ve yeryüzündeki cisimlerin gölge boyuna göre ayarlanan saate yerel saat denir. *Yani güneşin en tepede.
Chapter 8: Advanced Method Concepts
İNTERNET PROGRAMLAMA - 1
C# ile Seri İletişim Aslı Ergün.
DÖNGÜLER.
Veri Tabanı Yönetim Sistemleri I
İnternet Programcılığı II
T.C. MİLLİ EĞİTİM BAKANLIĞI Büro Yönetimi Öğretmeni Fatma GEZ BALIKESİR / BANDIRMA – İLÇE MİLLİ EĞİTİM MÜDÜRLÜĞÜ Büro Yönetimi ve Resmi Yazışma Kuralları.
CHARINDEX CHARINDEX fonksiyonu 2 parametre almaktadır. 1.parametredeki değerin 2.parametre olarak verilmiş değerde olup olmadığını belirtir. Varsa karakter.
Tuğçe ÖZTOP İlköğretim Matematik Öğretmenliği 2. sınıf
PHP.
ÇOK DEĞİŞKENLİ FONKSİYONLARDA
C# Veri Tipleri ve Değişkenler
Oturum aç butonuna tıklayın.
Otomata Teorisinin Uygulama Alanları
İKMAP İnternet 1 Ders Notu
Göğüşhan KILIÇ twitter.com/gogushan_kilic PHP’ye Giriş OLMAYA HAZIR MIYIZ?
Hafta 8.
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
TEMEL php Dersleri - Ders 1 Değişgenler
Fatih Karaokur - Computer Teacher
Mesaj Listeleri ve Web Etiği. Mesaj Listeleri Etiği Haberleşme, tartışma vb. mesaj listelerine üye olduğunuzda aşağıdaki etik kurallara uymanız beklenir:
Çiğli İlçe Milli Eğitim Müdürlüğü
Haydi Acele Edin Bu Sunumu Sonuna Kadar Okuyun ve Listenizdeki Herkese Gönderin.
1 RAP4LEO PROJE SAHİPLERİ İÇİN GÖRSEL KULLANIM KILAVUZU (v.1.07) Eğitim ve Kültür.
PHP ve HTML İnternet Programlama - 2. Koşullu İfadeler ve Döngüler Döngü ya da çevirim diyebileceğimiz, belli şart ve koşullarda istenilen değerleri yapabilmemizi.
Bu Sunumu Sonuna Kadar Okuyun ve Listenizdeki Herkese Gönderin
İnternet Programlama - 2
C Programlama Dili Bilgisayar Mühendisliği.
Bilgisayar Programlamasına ve Veri Analizine Giriş - IV
DOMAIN SERVER DOMAIN NEDIR ?
Kayıt Yöneticisi (Records Manager) Kullanımı İçin;
Bilgisayar Programlamasına ve Veri Analizine Giriş
Bilgisayar Programlamasına ve Veri Analizine Giriş
Bilgisayar Programlamasına ve Veri Analizine Giriş - VI
İNTERNET PROGRAMCILIĞI 2
Web Teknolojileri Hafta 12.
Sunum transkripti:

Php ’de Gelişmiş Tarih ve Saat Fonksiyonları

Tarih saat veri alma Time()- Localtime() Php proglamla dilinde tarih ve saat almanın birçok yolu vardır.Basit şekillerde tarih saat verisi alabilirisiniz.Fakat tarih ve saat konusunu çok iyi bir şekilde öğrenmeniz birçok uygulamada tarih ve saatle çalışırken size faydalı olacaktır.Zaman verisi alırken birden fazla fonksiyon ve bu fonksiyonların parametreleri mevcuttur.Tüm bu fonksiyonlar ve fonksiyonlarda geçerli olan parametleri iyi kavrarsanız başarılı bir şekilde tarih ve saat ile çalışabilirsiniz. Tarih ve saat sayı değildir metin değildir zamanla ilgili bilgi veren veridir.Zamanla ilgili göreceğimiz ilk komut time() ‘dır.time() fonksiyonunu print ile yazdırdığımızda bu fonksiyondan bize bir bilgi verir.Bu veri 01.01.1987 saat 00:00′dan şu ana kadar geçen saniye sayısını verir.Bu veriyi ilerde kullanmayı “Tarih ve Saatlerin Biçimlendirilmesi” konusunda göreceğiz print time(); 1272220285

time() fonksiyonu istediğimiz saat verisini gördüğünüz gibi vermez time() fonksiyonu istediğimiz saat verisini gördüğünüz gibi vermez. Şu andaki zaman verisini almak için localtime() fonksiyonunu kullanabiliriz.Localtime() fonksiyonundan dönen veri bir dizi olarak döner.Dizileri ekrana yazdırırken foreach ile nasıl yazdırdığımızı öğrenmiştik.Unuttuysanız bu konuya mutlaka bir göz atın. Şimdi localtime() ‘ı bir örnekle gösterelim ve fonksiyondan dönen veriyi inceleyelim; $lc=localtime(); foreach ($lc as $anahtar=>$deger){ echo $anahtar."=".$deger."<br>"; } Sonucu; (benim bu fonksiyonu kullandığımdaki zaman göre) 0=12 1=37 2=21 3=25 4=3 5=110 6=0 7=114 8=1 Sonuç bu şekilde dönecektir.Localtime() fonksiyonunu ilk defa deniyorsanız burdaki tüm sayılar anlamsız gelecektir.Anlamlı hale getirmek için ufak bir döküman gösteriyorum.

bugün 25 nisan 2010 cuma saat 21:37:12 iken localtime dizisinde tutulan değerlerin anlamları ------------------------------------------------------- 0=12 saniye 1=37 dakika 2=21 saat 3=25 ayın kaçıncı günü 4=3 yılın hangi ayı (0-ocak, 1-şubat...) 5=110 1900'den itibaren kaçıncı yıl 6=0 haftanın kaçıncı günü (0-pazar, 1-pazartesi...) 7=114 yılın kaçıncı günü 8=1 gün ışığı uygulaması (1:aktif, 0:pasif)

Getdate Tarih ve saat verisi alırken kullandığımız getdate() fonksiyonu diğer fonksiyonlardan kullanımı daha kolay ve hepsini kapsayan fonksiyondur.Hepsini kapsadığı gibide birkaçtane fazla özelliğide vardır.Şimdi zaman kaybetmeden getdate() fonksiyonunu inceleyelim. getdate() fonksiyonuda localtime() fonksiyonu gibi bir dizi değer döndürür.Bu değerler yine farklı farklı zaman verilerini belirtir.Hemen bu fonksiyonu bir örnekle görelim. $getdate=getdate(); foreach ($getdate as $anahtar=>$deger){ echo $anahtar."=".$deger."<br>"; }

getdate() ile döndürdüğümüz değerler aşağıdaki gibi olacaktır getdate() ile döndürdüğümüz değerler aşağıdaki gibi olacaktır.Gördüğünüz gibi bu dizi localtime() fonksiyonunun döndürdüğü diziden farklı olarak dizi anahtarları sayı değilde metin olarak ifade edilmiştir.Buda karışıklığı önlemek bir bakışta anlamak hata yapmamak için önemlidir. seconds=33 minutes=58 hours=22 mday=25 wday=0 mon=4 year=2010 yday=114 weekday=Sunday month=April 0=1272225513

seconds=33 saniye minutes=58 dakika hours=22 saat mday=25 ayın kaçıncı günü wday=0 haftanın kaçıncı günü (0-pazar, 1-pazartesi...) mon=4 hangi ay (1-ocak, 2-şubat...) year=2010 yıl yday=114 yılın kaçıncı günü (0 dan başlayarak....) weekday=Sunday günün adı month=April ayın adı 0=1272225513Unix sistemlerinde Epoch biçiminde zaman bilgisi 01.01.1970 saat:00:00:00 itibaren şu ana kadar geçen saniye

Date() Php’de tarih saat fonksiyonları.Tarih ve saat verisi alma.Php de zaman verisi nasıl alınır. Tarih ve saat fonksiyonlarında şu ana kadar işlediğimiz derslerde tam olarak istediğimiz gibi bir tarihi kolay bir şekilde elde edememiştik.Şimdi ise göreceğimiz fonksiyonda parametleri öğrendiğiniz taktirde çok kolay bir şekilde tarih ve saat yazdırmanızı sağlayacak.Ama önce mutlaka aşağıda verdiğim linkteki resmin detaylarını inceleyin mümkünse yazıcıdan çıktı alın ve kod yazarken göz önünde bulundurun. date() Fonksiyonu için Tarih ve Saat Parametleri Parametlerleri incelediyseniz sürekli kullanabileceğimiz bir kaç parametre olduğunu göreceksiniz.Yani hepsini ezbere bilmenize gerek yok.Sürekli kullandıklarınız zaten bir süre sonra zihninizde yer edinecektir.Ama diğer parametlerin neler yapabildiğini bilmenizde sakınca yoktur.İlerde bir gün parametre kodunu hatırlayamasanızda “aaa bak şunu yapmak için bir parametre vardı.” diye düşünüp eski dökümanları karıştırabilirsiniz. Şimdi gelelim fonksiyonumuzun PHP içerisindeki kullanımına geçelim.Kullanacağımız fonksiyon date() fonksiyonudur.Parametleri bildiğiniz zaman kullanımı oldukça basit bir fonksiyondur. Şimdi date() fonksiyonunu kullanırken hangi parametleri kullanacağımızı seçelim. Tarih ten başlayım.Tarih için 3 adet parametreye ihtiyacımız vardır.Bunlar gün ay yıl parametreleridir. Gün: d (İki haneli gün sayısını almak için) Ay: m (İki haneli ay sayısını almak için) Yıl: Y (Dört haneli yılsayısını almak için) Fonksiyonu kullanırken her parametre arasına istediğiniz bir karakter koyabilirsiniz.Örneğin / , .

1 print date("d.m.Y"); Ve sonuç olarak bugünün tarihini bu formatta göreceksiniz. 26.04.2010 yada daha farklı bir şekilde yapabilirsiniz 1 print date("m*d*Y"); 04*26*2010 Şimdide date() fonksiyonundaki saat verilerini çağırmak isteyelim.Saat parametlerine bir göz atalım ihtiyacımız olanlar nelerdir ¿ Saat dakika saniye. Bunların parametre tablosundaki kodlarını bulalım ve fonksiyonda yerlerine yerleştirelim Saat: H (24 saatlik dilimde saatimizi göstermek için) Dakika: i (dakikayı göstermek için) Saniye: s (saniyeyi göstermek için)

Bu parametreler ile örnek yapalım. 1 print date("H.i.s"); Ve sonuç olarak şu andaki saati bu formatta göreceksiniz. 20.32.47 Birde gün ve ay ismiyle birlikte yazdıralım. Gün adı için l (Küçük L harfi) Ay için F harfini kullanacağız. 1 2 print "bugun günlerden : ".date("l")."<br>"; print "aylardan : ".date("F")."<br>"; bugun günlerden : Monday aylardan : April evet istediğimizi yaptık ama bir sorunumuz var.Gün ve ay isimleri ingilizce.Bir sonraki dersimizde de strftime fonksiyonu ile yerel dilde yazdırmayı göreceğiz

Strftime() Bir önceki derste date() fonksiyonu ile basit bir şekilde tarih ve saat verilerini kullanabilmiştikAma gün ve ay isimlerinde türkçe problemiyle karşılaştırmıştık.Strftime() fonksiyonu ile gün ve ay isimlerini istediğimiz dilde çekebileceğiz.İstediğimiz dil derken PHP’nin desteklediği dillerde.Peki bu PHP hangi dilde yazdırmak istediğimizi nasıl anlar.PHP’nin hangi dilde yazdırmamızı istediğini kodlarımızın başında bir tanımla yaparak belirtiriz. Bu tanımla şu Şekildedir; setlocale(LC_ALL,"turkish"); Böylelikle dilimizi türkçe olarak belirlemiş olduk.Şimdi strftime() fonksiyonumuzun kullanımına geçeceğiz.Ama date() fonksiyonunda kullandığımız parametler burda geçerli olmayacak.Strftime() fonksiyonunu kullanmadan önce bu parametrelerin listesini vereceğim. Aşağıdaki tabloda verilen listede hem date() hemde strftime() fonksiyonun parametleri yan yana verilmiştir.Karşılaştırırsak bulabiliriz.Ayrıca tablonun en sağında sunucunuzun bulunduğu server işletim sistemine destek verip vermediği yazmaktadır.Listedeki bazı parametreler Windows sunucularda çalışmamaktadır.

strftime() Fonksiyonu için Tarih ve Saat Parametleri Şimdi strftime() ile hem saat hem gün hem ay hemde yılı yazdıralım. saniye için %S dakika için %M saat için %H haftanın bulunduğunuz gününün adı %A ay içindeki bulunduğunuz gün sayısı %d bulunduğunuz ay adı %B bulunduğunuz Yıl %Y Şimdi program içinde bu parametreleri kullanalım. setlocale(LC_ALL,"turkish");   print "Bugün günlerden ".strftime("%A")."<br>"; print "Saat ".strftime("%H:%M:%S")."<br>"; print "Tarih ".strftime("%d.%B.%Y")."<br>"; Sonuç; Bugün günlerden Pazartesi Saat 21:40:44 Tarih 26.Nisan.2010

Mktime() Saat Verisini Hafızaya Alma. Saat verisini kaydetmek hafızaya almak veritabanımıza kaydetmek isteyebiliriz.Bunun için mktime() fonksiyonunu kullanacağız.Bu fonksiyonun birçok şekilde kullanımı mevcuttur, biz birkaç değişik şekilde kullanımına bakacağız.Saklamak istediğimiz veriyi bir değişkene atacağız.Bu değişkenide tarihi tekrar görüntülemek için date() fonksiyonunu kullanacağız. Fonksiyonun kullanım şekli: $degisken=mktime(saat,dakika,saniye,ay,gun,yil); Değişkenimizin içine epoch formatında zaman verisini kaydetmiş oluyoruz.Daha sonra bu veriyi anlayabildiğimiz formata çevirip ekrana yazdıralım. print date("d/m/Y",$degisken); Print komutu ile $degisken içine kaydettiğimiz zaman verisini date() fonksiyonunu kullarak ekrana yazdırdık.

Şimdi bir örnek yapıp sonucuna bakalım Şimdi bir örnek yapıp sonucuna bakalım.22 mart 2010 saat 17:51:38 de kayıt olmuş olan bir kullanıcı gibi düşünelim. $kayit_zamani=mktime(17,51,38,3,22,2010); Print "Kullanıcı".date("d.m.Y",$kayit_zamani). "tarihinde saat ".date("H:i:s",$kayit_zamani). " 'de kayit olmuştur."; mktime ile $kayit_zamani değişkenine istediğimiz zamanı kayıt etmiştik.date fonksiyonun özelliğinden yararlanarak şimdiki zamanı değilde daha önceden değişken içinde sakladığımız zamanı yazdırdık. Kullanici 22.03.2010 tarihinde saat 17:51:38 'de kayit olmustur.

Mail Gönderme Php ile e-postalar yollamak gayet basit ve tek bir fonksiyon yani mail() ile gerçekleştirilebiliyor. Bu fonksiyonu en basit ve genel olarak şu şekilde kullanabiliyoruz. mail($alici_eposta, $eposta_konusu, $eposta_mesaji) Yukarıdaki ile bu işlemi en basit yol ile gerçekleştiriyoruz. Yollanacak e-postanın HTML içerikli olmasını, gönderen e-posta adresinin görüntülenmesini, e-posta içeriğinin dil kodunun tanımlanması, e-posta Cc ve Bcc alıcılarının belirlenmesi için headers olarak adlandırılan bilgilerinde gönderilmesi gerekmektedir. O zaman üstteki fonksiyonu şununla değiştiriyoruz. mail($alici_eposta, $eposta_konusu, $eposta_mesaji, $headers) Bu fonksiyonumuzdaki değişkenleri açıklayalım; $alici_eposta : E-postayı yollayacağınız kişidir. $eposta_konusu : Yollayacağınız e-postanın konusudur. $eposta_mesaji : Yollayacağınız e-postanın içeriğidir. $headers : Gelişmiş e-posta tanımlamalarının tümünü ya da birkaçını içeren değişkendir ve kullanılma zorunluluğu yoktur. Açıklamalar arasında belirttiğim üzere sondaki $headers değişkenini kullanma zorunluluğu yoktur ve o değerler tanımlanmadan da e-postalar yollanabilir. Peki bu değişken içerisinde ne türden tanımlamalar yapabiliyoruz?

$headers değişkenindeki tanımlamalar From: E-postanın hangi e-posta adresinden yollandığıdır. Reply-To: Kişi kendisine yollanan e-postayı yanıtlamak istediğinde, burada tanımlayacağınız e-posta adresine mesajını gönderebilir. X-Mailer: Maili yollatan yazılımdır. MIME-Version: E-posta MIME sürümüdür. Content-type: İçerik türü ve karakter setlerinin tanımlamalarını içerir. To: E-postanın gönderileceği adres(ler)dir. Cc: E-postanın kopyasının gönderileceği görünür adres(ler)dir. Bcc:E-postanın kopyasının gönderileceği gizli adres(ler)dir. Şu an için aklıma gelenler yukarıdakiler ile sınırlı Şimdi örnek birkaç e-posta yollayalım..

$alici_eposta = 'alici@eposta.com'; Örnek 1 $alici_eposta = 'alici@eposta.com'; $eposta_konusu = 'Deneme e-postası yolluyoruz'; $eposta_mesaji = 'Deneme e-postası mesajidir.'; mail($alici_eposta, $eposta_konusu, $eposta_mesaji); Yukarıdaki satırlar ile “Deneme e-postası yolluyoruz” konulu ve “Deneme e-postası mesajidir.” mesajını içeren e-postayı “alici@eposta.com” adresine gönderdik. Örnek 2 $headers = 'From: yollayan@eposta.com' . "\r\n" .  'Reply-To: yanit@eposta.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($alici_eposta, $eposta_konusu, $eposta_mesaji, $headers);

Bunun birinci örnekten tek farkı “headers” bilgilerini barındırıyor olması. Böylece e-postamız “yollayan@eposta.com” adresinden yollanmış olacak ve kişi yanıtlamak istediğinde “yanit@eposta.com” e-posta adresi gösterilecek. Ayrıca e-postamızı “PHP/5.2.1″ ile gönderdiğimizi belirtmiş olacağız. “5.2.1″ yerine sunucunuzdaki PHP sürümü yazacaktır. Örnek 3 $headers= 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-9' . "\r\n"; $headers .= 'To: Alıcı 1 <alici1@eposta.com>, Alıcı 2 <alici2@eposta.com>' . "\r\n"; $headers .= 'From: Yollayan Kişiyim <yollayan@eposta.com>' . "\r\n"; $headers .= 'Reply-To: Yanit E-Postasi <yanit@eposta.com>' . "\r\n"; $headers .= 'X-Mailer: PHP/' . phpversion() . "\r\n"; $headers .= 'Cc: acikkopya@eposta.com' . "\r\n"; $headers .= 'Bcc: gizlikopya@eposta.com' . "\r\n"; $alici_eposta = 'alici1@eposta.com'; $eposta_konusu = 'Deneme HTML e-postası yolluyoruz'; $eposta_mesaji = '<b><i>Bu kalın ve italik olan bir HTML formatlı yazıdır.</i></b>'; mail($alici_eposta, $eposta_konusu, $eposta_mesaji, $headers);

Bu kez iyice geliştirdik işlemimizi Bu kez iyice geliştirdik işlemimizi. “Deneme HTML e-postası yolluyoruz” konulu ve içeriği “Bu kalın ve italik olan bir HTML formatlı yazıdır.” olan e-postayı HTML formatlı ve “iso-8859-9″ karakter setine uyumlu (Türkçe karakterler) olarak, “alici1@eposta.com” ve “alici2@eposta.com” adreslerine gönderdik. Ayrıca aynı e-postanın bir kopyasını görünür olarak “acikkopya@eposta.com” adresine, ve bir diğer kopyasını da bu kez gizli olarak “gizlikopya@eposta.com” adresine gönderdim.

SAİM KURBAN T12-C 2320