Kategoriler
Php fonksiyonlari Webmaster yardım

Php ile 5 gun onceki veya sonraki tarihi yazdirmak!

Php de tarih ile ugrasiyorsaniz, ara ara takildiginiz noktalar olabilir. isde bu o takildiginiz noktalardan olabilir. Tarih bilgisi alirken, suanki tarihi ve 5 gun onceki yada 5 gun sonraki tarigi yazdirmak istediginizde asagidaki fonksiyonu kullanabilirsiniz..

Bu konuda Hakan mustak hocamin yazdigi fonksiyon durumu tam olarak kurtariyor. Asagidaki kodlari kullanarak Tarih islemimizi gerceklestirebilirsiniz:

<?php
/**
* yazan hakan MUSTAK – www.mustak.org
* tablo ekleme – kuaza
*/

$tarih = date(“Y-m-d”);
$start_date = date(“Y-m-d”, strtotime(“+5 days”, strtotime($tarih)));

echo “<table>”;
echo “<tr><td width=’180px’>simdiki tarih </td><td>: </td><td>” . $tarih;

echo “</td></tr>”;

echo “<tr><td width=’180px’>5 gun sonraki tarih </td><td>: </td><td> ” . $start_date;
echo “</td></tr>”;
echo “</table>”;
?>

kodlarda biraz duzenleme yaptim, orjinali icin asagidaki resime bakabilirsiniz:

Kodlarin calisan haline buradan bakabilirsiniz

Kaynak

Kategoriler
Php fonksiyonlari Webmaster yardım

Php ile txt dosyalarına hakim olun, okutturun, güncelleyin

php-ile-txt-okutturmaMerhaba arkadaslar bu yazimda sizelere php ile kod kullanarak, basit bir sekilde, baska bir sayfadaki yada sitedeki text dosyasini, sayfamiza cagirarak calistirmayi anlatacagim, oncelikle bu yontemin faydalarini yazayim:

Faydalari:

  • Hizlidir
  • Acik icermez
  • hack riski yoktur
  • text dosyasinda html kullanabilirsiniz
  • ve cok basittir

Arkadaslar daha onceden hazirladigim bir sayfayi gostermek istiyorum sizlere, bu bir demodur:
Php ile text okutturma demo su

bu sayfayi kuaza tema serisi icin hazirlamistim, sonrasinda icerisini gereksiz yazilarla doldurmak yerine ayri bir klasor icerisindeki text dosyasindan veri cekmek geldi, bu sayede ana dosyamiz: k2-div1.php gereksiz ve kotu goruntu olusturan yazilardan kurtulmus oldu. bu ayrica ilerde ana dosyamiz uzerinde bir tasarim degisikligi yapmak istedigimizde, son derece kolaylik saglayacaktir.

oncelikle sizlere php kodu ile text dosyasini okutmamiz icin gereken kodu veriyorum, sonrasinda makalemize devam edecegiz.

Kategoriler
Php fonksiyonlari Webmaster yardım

Php, Ajax : utf-8 olmayan metinleri utf-8 e çevirmek

mysql-input-chinese-utf-8php ve ajax ile uğraşıyorsanız karşınıza çıkacak temel şikayetlerinizden birisi de ajax ile çektiğiniz verilerin utf-8 ile tasarlanmamış sitelerde farklı karakterler ve soru işaretçikleri olarak görülmesi problemidir…

aşağıdaki fonksiyon türkçe karakterleri utf-8 karakterlerine dönüştürmektedir. böylece utf-8 olmayan siteniz içinde utf-8 ile kodlanmış sayfalar çağırabilirsiniz.

ben bu fonksiyonu ajax ile çektiğim ve türkçe karakter içeren verileri utf-8 e çevirmekte kullanıyorum…

KUAZA Yazar Not: ajax’diz hazirladiginiz sayfalarda da kullanabilirsiniz, ancak bazi uyarlamalar yaparak kodlariniza uygun hale getirmeniz gerek.. ancak uyarmak istiyorum eger sisteminiz utf-8 destekliyorsa kodlar sorun cikarakctir

function format_name($metin)
{
$metin = trim($metin);
//$metin = strtolower($metin);
//ç harfi
$metin = str_replace (”Ç”,”Ç”,$metin);
$metin = str_replace (”ç”,”ç”,$metin);
//yumuşak g harfi
$metin = str_replace (”Ğ”,”Ä”,$metin);
$metin = str_replace (”ğ”,”ÄŸ”,$metin);
//ı harfi
$metin = str_replace (”I”,”I”,$metin);
$metin = str_replace (”ı”,”ı”,$metin);
//i harf
$metin = str_replace (”İ”,”Ä°”,$metin);
$metin = str_replace (”i”,”i”,$metin);
//ö harf
$metin = str_replace (”Ö”,”Ö”,$metin);
$metin = str_replace (”ö”,”ö”,$metin);
//ş harf
$metin = str_replace (”Ş”,”Å”,$metin);
$metin = str_replace (”ş”,”ÅŸ”,$metin);
//ü harf
$metin = str_replace (”Ü”,”Ãœ”,$metin);
$metin = str_replace (”ü”,”ü”,$metin);

return $metin;
}

Kaynak: yakusha.net

Kategoriler
Php fonksiyonlari

Php ile dosya okutma, yazdırma, değiştirme, silme (.txt .rtf vs)

html-php-code-revArkadaşlar Bu konu hakkında sorular olduğunu gördüm ve sizle şimdi paylaşacağım bilgileri paylaşmak istedim…. PHP’de yukarıda ele aldığımız include ve require komutları ve biraz sonra değineceğimiz dosya okutma ve yazdırma işlemleri dolayısıyla bir dosyanın varlığı veya yokluğu, ya da bir dosyaya ait sandığımız ismin bid klasöre ait olması, programımızın sağlıklı işleyebilmesi açısından büyük önem taşır. PHP bu amaçla bize bir kaç kullanıma hazır fonksiyon sağlıyor. Burada kısaca bu fonksiyonlara ve nasıl kullanıldıklarına değinelim: Dosya var mı? file_exits() Bir dosyanın var olup olmadığını denetleyen bu fonksiyon, dosya varsa true/doğru, yoksa false/yanlış sonucunu verir. Örnek:

if ( file_exits ( “bir_dosya.txt” ) ) print (”Dosya var!”);

Dosya yoksa, program “Dosya var!” yazmadan yoluna devam edecektir. Dosya mı, dizin mi? is_file() ve is_dir() Kimi zaman klasörler de tıpkı dosyalar gibi adlandırılabilir. Bir dizinde gördüğümüz ismin gerçekten bir dosyaya ait olup olmadığını bu fonksiyonla sınarız. Sınama doğru, yani isim bir dosyaya ait ise fonksiyon true/doğru, değilse false/yanlış sonuç verir. Örnek:

if ( is_file ( “bir_dosya.txt” ) ) print (”Bu bir dosyadır!”);

İsim bir dosyaya ait değilse program “Bu bir dosyadır!” yazmadan yoluna devam edecektir. Sınamayı ismin bir klasöre ait ait olup olmadığına bakrarak da yaparız. Bu durumda is_dir() fonksiyonunu kullanırız. isim bir dizine aitse fonksiyon true/doğru, değilse false/yanlış sonuç verir. Örnek:

if ( is_dir ( “/bir_isim” ) ) print (”Bu bir dizindir!”);

İsim bir dizine ait değilse program “Bu bir dizindir!” yazmadan yoluna devam edecektir. Dosya okunabilir mi? is_readable() Programda kullanmaya karar vermeden önce bir dosyanın erişilebilir ve PHP tarafından okunabilir olup olmadığını sınayan bu fonksiyon, dosya okunabilir ise true/doğru, değilse false/yanlış sonuç verir. Örnek:

if ( is_readable ( “bir_dosya.txt” ) ) print (”Bu dosya okunabilir!”);

Dosya okunabilir değilse program “Bu dosya okunabilir!” yazmadan yoluna devam edecektir. (Unix ortamında varlığını görebildiğimiz her dosyanın okuma izni bulunmayabilir.) Dosya yazılabilir mi? is_writable() Programda kullanmaya karar vermeden önce bir dosyanın yazılabilir olup olmadığını sınayan bu fonksiyon, dosya yazılabilir ise true/doğru, değilse false/yanlış sonuç verir. Örnek:

if ( is_writable ( “bir_dosya.txt” ) ) print (”Bu dosyaya yazılabilir!”);

Dosya yazılabilir değilse program “Bu dosyaya yazılabilir!” yazmadan yoluna devam edecektir. (Unix ortamında varlığını görebildiğimiz hatta okuyabildiğimiz her dosyanın yazma izni bulunmayabilir.) Dosya çalıştırılabilir mi? is_executable() PHP programında kimi zaman sunucunun kullanmamıza izin verdiği haricî programları çalıştırız; PHP programımızın düzgün işlemesi bu harici programa bağlı olabilir. Böyle bir programı çalıştırmaya karar vermeden önce bir dosyanın çalıştırılabilir olup olmadığını sınayan bu fonksiyon, dosya çalıştırılabilir ise true/doğru, değilse false/yanlış sonuç verir. Örnek:

if ( is_executable ( “bir_dosya” ) ) print (”Bu dosya çalıştırılabilir!”);

Dosya çalıştırılabilir bir program değilse PHP programı “Bu dosya çalıştırılabilir!” yazmadan yoluna devam edecektir. (Unix ortamında varlığını görebildiğimiz her pprogram dosyasının çalıştırma izni bulunmayabilir.) Dosya boyutu: filesize() Adını verdiğimiz dosyanın boyutunu byte olarak bildirir: Örnek:

print (”Dosyanın boyutu:”); print filesize( “bir_dosya.txt” );

Dosyaya son erişim tarihi: fileadate(), filemtime() ve filectime() Adını verdiğimiz dosyaya son erişim tarihini bildirir. ne var ki bu bilgi Unix’in “epoch” biçimindedir: Örnek:

print (”Dosyanın son erişim tarihi:”); $dosya_tarihi = fileadate( “bir_dosya.txt” ); print ( ” $dosya_tarihi ” );

Eğer bu dosyanın son erişim tarihi 28 Temmuz 2008, Cuma 24:00:00 ise, PHP, Browser penceresine 964731600 yazacaktır. Bu komutun ürettiği bilgiyi, date() fonksiyonu ile anlaşılabilir hale getirebiliriz:

print (”Dosyanın son erişim tarihi:”); $dosya_tarihi = fileadate( “bir_dosya.txt” ); print date(”D d M Y G:i:s H”, $dosya_tarihi );

Bu kez PHP Browser penceresine 28 Jul 2008 242:00:00 00 yazdıracaktır. Tarih verilerinin date() fonksiyonu ile biçimlendirilmesini daha sonra ayrıntılı ele alacağız. filemtime(), bir dosyanın son değiştirildiği tarihi; filectime(), ise oluşturulduğu tarihi, yine Unix Epoch biçiminde bildirir; bu verinin anlaşılır biçimde görüntülenmesi için PHP’nin date() fonksiyonu kullanılır. Dosyalar oluşturma ve silme PHP ile yapabileceğimiz önemli dosya işlemlerinin başında olmayan bir dosyayı oluşturmak ve olan bir dosyayı silmek gelir. PHP’nin dosya oluşturma komutu touch() fonksiyonudur. Bu fonksiyona oluşturulmasıın istediğimiz dosyanın adını vermemiz gerekir. Örnek:

$dosya_dizin = "/inetpub/wwwroot/"; touch ("$dosya_dizin/yeni_belge.txt"); print ("yeni_belge adlı bir dosya oluşturuldu!"); ?>

Bu programı kişisel Web sunucuda denerken yeni dosyanın oluşturulacağı dizin olarak “/” işaretiyle sadece kökdizini belirtirseniz, dosya C: diskinde kökdizinde oluşturulur. Bu programı gerçek sunucuda çalıştırabilmek için yazma/okuma izni bulunan ve Web sunucunun erişebileceği bir dizinin adını vermeniz gerekir. Örneğin:

$dosya_dizin = "/wwwroot/mycgiserver.com/members/uNhM13Qnm/"; touch ("$dosya_dizin/yeni_belge.txt"); print ("yeni_belge adlı bir dosya oluşturuldu!"); ?>

Bu komutla oluşturacağınız dosya içi boş bir metin dosyası olacaktır. Eğer belirttiğiniz dizinde bu adı taşıyan bir dosya varsa, PHP dosyanın içeriğine dokunmayacak, fakat dosyanın erişim ve değişim tarihlerini değiştirecektir. PHP ile mevcut bir dosyayı silmek için unlink() fonksiyonunu kullanırız. Bu fonksiyon da silinecek dosyanın adı ile birlikte yolunu ister. Örnek:

$dosya_dizin = "/wwwroot/mycgiserver.com/members/uNhM13Qnm/"; unlink ("$dosya_dizin/yeni_belge.txt"); print ("yeni_belge adlı dosya silindi!"); ?>

Dosyaya yazma ve ek yapma: fwrite() ve fputs() Bir dosyaya yazma veya ek yapma, PHP açısından aynı işlemdir; sadece dosyaların açılışında fark vardır. Hatırlayacaksınız, bir dosyayı yazmak amacıyla açmak için:

$dosya = fopen( “bir_dosya.txt” , ‘w’ ) or die (”Dosya açılamıyor!”) ;

ek amacıyla açmak için ise

$dosya = fopen( “bir_dosya.txt” , ‘a’ ) or die (”Dosya açılamıyor!”) ;

kodunu yazmamız gerekir. Dana sonra yapılacak yazma ve ekleme işlemlerinin farkı, ‘w’ parametresi ile açılan dosyaya yazma işlemi en başından başlar ve devam eder; ‘a’ parametresi ile açaılan dosyaya yazma işlemi ise en sondan başlar ve devam eder. PHP’nin bir dosyaya metin yazdırma fonksiyonları olan fwrite() ve fputs() aynı biçimde yazılır ve aynı işlevi yerine getirirler; aralarında kesinlikle fark yoktur. Örnek:

$dosya_adi = "/inetpub/wwwroot/bir_dosya.txt"; $dosya = fopen ($dosya_adi , ‘w’) or die ("Dosya açılamadı!"); $metin = "Bu satır dosyaya yazılacak: Merhaba Dünya!n"; fwrite ( $dosya , $metin ) ; fputs ( $dosya , "Bu satır ise sonradan eklenecekn" ) ; fclose ($dosya); ?>

Bu programı çalıştırdığınızda, bir_dosya.txt adlı dosyada mevcut bütün içerik silenecek ve yerini $metin değişkeninin içerdiği “Bu satır dosyaya yazılacak: Merhaba Dünya!” yazısı ile “Bu satır ise sonradan eklenecek” cümlesi alacaktır. Her iki metnin sonunda da yeni satır işareti bulunduğuna dikkat edin. Bu programda dosya açma kıomutundaki ‘w’ parametresini siler, yerine ‘a’ yazarsanız, bu metinlerin dosyanın içeriğine eklendiğini görebilirsiniz. Kullanımdaki dosyayı kilitleyin! Web sunucusundaki dosyalarımızla sadece bir kişi işlem yapıyor olsa idi, bir sorun olmazdı; ne var ki, bir Web sitesine aynı anda birden fazla kişi eriyebilir ve dosyalarla işlem yapan programları çalıştırıyor olabilir. Bu, PHP’nin dosya işlemlerine engel olabilir. Bu sebeple, işlem için açacağımız bir dosyayı, önce kilitlemek yerinde bir önlem sayılır. Bunu, flock() fonsiyonu ile yaparız; bu fonksiyona kilitlemek istediğimiz dosyanın işaret değişkeninin adını ve kilit türünü belirten endeks sayısını parametre olarak yazarız. Örnek:

$dosya_adi = "/inetpub/wwwroot/bir_dosya.txt"; $dosya = fopen ($dosya_adi , ‘w’) or die ("Dosya açılamadı!"); flock ( $dosya , 2); // dosyayı kilitle $metin = "Bu satır dosyaya yazılacak: Merhaba Dünya!n"; fwrite ( $dosya , $metin ) ; fputs ( $dosya , "Bu satır ise sonradan eklenecekn" ) ; flock ( $dosya , 3); //dosyayı kilidini aç fclose ($dosya); ?>

Bu fonksiyon ile kullanabileceğimiz endeks parametreleri şunlardır: 1 Paylaşım Diğer proseslerin dosyayı paylaşmalarına imkan verir 2 Tam Diğer proseslerin dosyaile işlem yapmasına engel olur 3 Serbest Dosyanın 1 veya 2 olan kilidini kaldırır Bir dosya, herhangi bir PHP programı tarafından kilitlendiği anda, aynı dsyayı daha sonra kilitlemeye kalkan diğer programlar kendilerinden önce konulmuş kilide saygı gösterirler.

Kaynak: Ceviz.net / RoCaLL

Kategoriler
Php fonksiyonlari

Php ile Md5 Şifreleme Nasıl Yapılır?

online_md5_hash_generatorMD5 RFC’de de belirtildiği gibi şifreleme algoritmalarına yardımcı olmak amacıyla kullanılabilecek bir HASHING / FINGERPRINTING algoritmasıdır ve yalnızca 128-bit’lik (16-bayt) bir çıktı üretir. Bu nerede kullanılır? Öncelikle bir verinin (dosyanın) doğru transfer edilip edilmediği veya değiştirilip değiştirilmediğinin kontrol edilmesinde. Örneğin CD ISO dosyalarının çoğuz aman MD5 hash’leri de yanında verilir ve 700MB’lık bir transferin ardından bu değerin kendi hesapladığımızla aynı olmasını umarız Bir diğer kullanımı da public-key şifrelemededir. Public-key şifreleme (asimetrik), simetrik şifrelemeye göre çok çok (ve çok) daha fazla hesap gücü ve zaman gerektirdiğinden Public-key sistemlerde bile aslında Simetrik standart şifreleme kullanılır (Asimetrik public key ile). Daha sonra veri MD5 gibi bir hash’ten geçirilir ve bu kısa hash değeri asıl olarak asimetrik şifreleme ile şifrelenir. Bu sayede performans ile güvenlik arasında bir denge sağlanmış olur. sira geldi md5 sifreleme yapabilecegimiz php fonsiyonuna.. asagidaki formdaki verileri kullanarak sizde md5 kodlayici yapabilirsiniz, gelistirmek sizin hunerli ellerinize kaliyor..

Nasıl Kullanılır?

Md5 fonksiyonu algoritmanın kendi adıyla kullanılmaktadır.

[sourcecode language=’php’][/sourcecode]

bu kodları içeren dosyamız çalıştırıldığında 827ccb0eea8a706c4c34a16891f84e7b çıktısını elde ederiz. Buradaki metin parolamız olan ‘12345′ in kodlanmış halidir.

Yazımızın başında dediğimiz ve örneğimizde uyguladığımız gibi, Md5 genelde kullanıcı parolalarının güvenle saklanması için kullanılmaktadır. Bunun işleyiş mantığı ise şöyledir:

Kayıt esnasında= Kullanıcı kayıt formu -> formdan gelen parola md5 ile kodlanır -> kodlanmış parola veritabanındaki ilgili tablo ve sütuna eklenir.
Oturum açma esnasında= = Oturum açma formu -> formdan gelen parola md5 ile kodlanır -> kodlanmış parola veritabanında bulunan kodlanmış parola ile karşılaştırılır -> Eğer aynı ise oturum açtırılır, değilse uyarı v.b.

Md5 Kırılabilir mi?
Md5′i de bulan insanoğludur ve kırılabilir :) Bu nedenle ne olursa olsun, hangi site olursa olsun parolalarımızı yeterince güçlü tutmalıyız ( rakam, karakter, harf kombinasyonları). Aksi halde yukarıda kullanmış olduğumuz ‘12345′ parolasının Md5 kodlu halini kırmak sadece birkaç saniye sürmektedir.

Alternatifleri

Md5 yerine Php, crc32() ve sha1() fonksiyonlarını da sunmaktadır.

Tanıdık yerler

Örneğin PhpNuke, PhpBB, wordpress kullanıcı parolalarını Md5 ile kodlayarak saklar. SMF ise sha1() ile kodlamaktadır.

Kaynak : dmry.net