PHP 4’ün Yenilikleri VIII. “Türkiye’de İnternet” Konferansı İstanbul, 19-21 Aralık 2002 Hidayet Doğan.

Slides:



Advertisements
Benzer bir sunumlar
Yığınlama Sıralaması (Heap Sort)
Advertisements

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
SQL String Fonksiyonları
PHP VE MYSQL.
STRİNG FONKSİYONLARI.
Fonksiyonlar.
Bölüm 12 ÜST DÜZEY KONULAR Dinamik Bellek Ayırma Önişlemci
Değişken , Veri Türleri ve Operatörler
PHP-MySQL ile Profesyonel Web Programlama
Internet Tabanlı Programlama Dr. Erman Yukselturk
Nedir? Türkiye PHP Grubu – Dokuz Eylül Üniversitesi
PHP ve MySQL Web Yazılımı Gülin ÜTEBAY Bilgisayar Mühendisi
Diziler PHP.
MATLAB’İN SAYI YUVARLAMA FONKSİYONLARI
Afyon Kocatepe Unv. Bilgi İşlem Mrk. Yılmaz SARPKAYA
Fonksiyonlar ve Küresel Değişkenler
Diziler Dizi, bellekte aynı isim altında toplanmış değişkenler kümesidir. Eğer ki aynı türden veriler grubunu bellekte tutmak gerekirse diziler kullanılır.
Dizi (array) değişkenleri
Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu
 Print() :  Print() : Ekrana bir değişkenin değerini veya bir metni yazdırmayı sağlar. print (“PHP Programlama”);// ekrana “PHP Programlama” yazdırır.
PHP'de formdan gelen bilgileri almak için $_GET ve $_POST değişkenleri kullanılır
Elektrik-Elektronik Mühendisliği Bölümü DİZİLER C Programlama Dili Yaz Stajı Cengiz TEPE SAMSUN 2007.
Fonksiyonlar Hafta 4.
Çerez(Cookie) Kullanımı Oturum Yönetimi
Diziler.
PHP-Dosya ve Dizinler Internet Tabanlı Programlama Dr. Erman Yukselturk.
DİZİLER (Arrays) Yrd.Doç.dr. Cİhad demİrlİ
MySQL, SQL ve PHP Öğr.Gör.Şükrü KAYA.
HTML (HYPER TEXT MARKUP LANGUAGE) TEMEL ETİKETLERİ
İnternet Programcılığı II
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 9. Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1,
İnternet Programcılığı II
WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk.
8. VİSUAL BASİC İLE TEMEL DOSYALAMA İŞLEMLERİ
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 8: Windows Formları
1 PHP – Metinler ve Düzenli İ fadeler Internet Tabanlı Programlama Dr. Erman Yukselturk.
DOSYA İŞLEMLERİ.
Diziler Dizi, bellekte aynı isim altında toplanmış değişkenler kümesidir. Eğer ki aynı türden veriler grubunu bellekte tutmak gerekirse diziler kullanılır.
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
BM-103 Programlamaya Giriş Güz 2014 (8. Sunu)
PHP İş Başında (Formlarla PHP)
İnternet Programcılığı II
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
Algoritma & Programlama
CHARINDEX CHARINDEX fonksiyonu 2 parametre almaktadır. 1.parametredeki değerin 2.parametre olarak verilmiş değerde olup olmadığını belirtir. Varsa karakter.
PHP.
Bölüm 3: Diziler BTEP 102 – Veri Yapıları ve Programlama
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
NESNEYE YÖNELİK PROGRAMLAMA
PHP’ye Giriş Akademik Bilişim 2003 Adana, Şubat 2003 Hidayet Doğan.
İKMAP İnternet 1 Ders Notu
Göğüşhan KILIÇ twitter.com/gogushan_kilic PHP’ye Giriş OLMAYA HAZIR MIYIZ?
PHP.
BISON (YACC) (Yet Another Compiler Compiler)
1 7. HAFTA. 2 Referanslar  Referanslar adres temsilcisidir  İşaretçilerin görevlerini kısmi olarak yapabilirler  Değişken değildirler.  Bellekte yer.
C Programlamada, benzer tipte tanımlaman değişkenleri kontrol etmede bize en çok yardım eden dostlarımız dizilerdir. Örneğin: 100 Öğrencinin bilgilerini.
VERİ TİPLERİ BYTE:0-255 ARASI TAMSAYI (1 BYTE)
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
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.
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
C Programlama Dili Bilgisayar Mühendisliği.
Bilgisayar Programlamasına ve Veri Analizine Giriş - IV
Bilgisayar Programlamasına ve Veri Analizine Giriş
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
Bilgisayar Programlamasına ve Veri Analizine Giriş - VII
İNTERNET PROGRAMCILIĞI 2
Bilgisayar Programlamasına ve Veri Analizine Giriş - VII
Bilgisayar Bilimi Döngüler.
Bilgisayar Bilimi Fonksiyonlar-2.
MTM216 GÖRSEL PROGRAMLAMA
Sunum transkripti:

PHP 4’ün Yenilikleri VIII. “Türkiye’de İnternet” Konferansı İstanbul, Aralık 2002 Hidayet Doğan

PHP 4’ün Yenilikleri I. empty(“0”) II. Metin İçine Değişken Yapıştırma III. print_r() IV. Dizi Fonskiyonları V. Dosya ve Dizin Fonksiyonları VI. Metin (String) Fonksiyonları

I. empty(“0”) <? $veri = “0”; if (empty($veri)) echo “boş”; else echo “dolu”; ?> PHP 4 Çıktısı: boş PHP 3 Çıktısı: dolu Verilen parametredeki değerin boş olup olmadığını döndürür. Boş ise TRUE, değilse FALSE değeri döner.

II. Metin İçine Değişken Yapıştırma Diziler (Tek veya çok boyutlu) Sınıflar PHP 3: “metin metin”. $dizi[0][“isim”]. “metin metin” PHP 4: “metin metin {$dizi[0][“isim”]} metin metin” UYARI: PHP 3’e göre hazırlanmış betiklerin PHP 4 üzerinde düzgün bir biçimde çalışması için betik içindeki {$ içeren yerleri \{$ olarak düzeltin.

III. print_r() (PHP 4 ile) Parametrede verilen değişkene ait bilgileri okunabilir bir şekilde gösterir. Eğer girilen değişken metin veya sayı gibi basit bir değişken ise değerin kendisi gösterilir. Dizi, sınıf gibi karmaşık bir değişken ise içinde barındırdıkları verilerle birlikte formatlanmış şekilde gösterir. Genelde betikler içinde, yazılan kodların doğruluğunun kontrol etmesi amacıyla kullanılır (DEBUG).

<? $dizi = array(“bir” => “PHP”, “iki” => “HTML”); $metin = “Türkiye PHP Grubu”; $sayi = 15234; echo “ ”; print_r($dizi); print_r($metin); print_r($sayı); echo “ ”; ?> III. print_r() (PHP 4 ile)

Çıktısı: Array ( [bir] => PHP [iki] => HTML ) Türkiye PHP Grubu III. print_r() (PHP 4 ile)

IV. Dizi Fonksiyonları a.in_array() (PHP 4 ile) b.array_search() (PHP ile) c.array_key_exists() / key_exists() (PHP ile) d.explode() 3. Parametresi (PHP ile)

IV-a. in_array() (PHP 4 ile) Eskiden... <? $dizi = array(“PHP”, “HTML”, “XML”); for ($i = 0; $i < count($dizi); $i++) { if (“PHP” == $dizi[$i])) echo “var”; else echo “yok”; } ?> for döngüsü while döngüsü

IV-a. in_array() (PHP 4 ile) <? $dizi = array(“PHP”, “HTML”, “XML”); if (in_array(“PHP”, $dizi)) echo “var”; else echo “yok”; ?> Birinci parametredeki değeri ikinci parametredeki dizi elemanları değerleri içinde arar. Eğer aranan değer bulunursa TRUE, bulunamaz ise FALSE değeri döner. Çıktısı: var

IV-a. in_array() (PHP 4 ile) Eğer üçüncü parametre değeri TRUE olarak verilirse, arama sadece birinci parametredeki değerin veri tipi ile eşit olan elemanlar arasında yapılır. <? $dizi = array(“metin”, 27, 12, 65); if (in_array(“27”, $dizi, TRUE)) echo “27 (metin) bulundu”; if (in_array(65, $dizi, TRUE)) echo “65 (sayı) bulundu”; ?> Çıktısı: 65 (sayı) bulundu

IV-b. array_search() (PHP ile) in_array() fonksiyonu ile neredeyse aynı olup, eğer verilen değer bulunursa TRUE değeri yerine, bulduğu değere ait anahtarı (eleman ismini) döndürür. <? $dizi = array(“bir” => “PHP”, “iki” => “HTML”); echo array_search(“PHP”, $dizi); ?> Çıktısı: bir

Eskiden... <? $dizi = array(“bir” => “PHP”, “iki” => “HTML”); while (list($anahtar, $değer) = each($dizi)) { if (“bir” == $anahtar) echo “var”; else echo “yok”; } ?> IV-c. array_key_exists() (PHP ile)

Birinci parametredeki değeri ikinci parametredeki dizi anahtarları (eleman isimleri) içinde arar. Eğer aranan değer bulunursa TRUE, bulunamaz ise FALSE değeri döner. <? $dizi = array(“bir” => “PHP”, “iki” => “HTML”); if (array_key_exists(“bir”, $dizi)) echo “var”; else echo “yok”; ?> Çıktısı: var

IV-c. array_key_exists() (PHP ile) UYARI: Bu fonksiyonun ismi PHP sürümünde key_exists() olarak geçmektedir.

IV-d. explode() 3. Parametresi (PHP ile) İkinci parametredeki metni birinci parametrede verilen ayraç ile parçalayıp dizi halinde döndürür. Eğer ayraç boş ise FALSE değeri döner. Eğer ayraç metin içinde bulunmazsa tüm metin tek elemanlı bir dizi olarak döner. <? $metin = “bir iki üç dört beş”; $dizi = explode(“ “, $metin); echo $dizi[0].” ”; echo $dizi[1]; ?> Çıktısı: bir iki

IV-d. explode() 3. Parametresi (PHP ile) Üçüncü parametre olan limit parametresine bir sayı verildiğinde, ikinci parametrede verilen metni sadece o sayı kadar parçalar. <? $metin = “bir iki üç dört beş”; $dizi = explode(“ “, $metin, 2); echo $dizi[0].” ”; echo $dizi[1].; ?> Çıktısı: bir İki üç dört beş

IV. Dizi Fonksiyonları Dizi fonksiyonlarının neredeyse yarısı PHP 4 ile gelmiştir. Geriye kalan fonksiyonların ise yine yarısı üzerinde yenilikler yapılmıştır. Yeni dizi fonksiyonlarından birkaç tanesi: array_count_values() array_merge() array_rand() array_slice() array_unique()

V. Dosya ve Dizin Fonksiyonları a.getcwd() (PHP 4 ile) b.disk_free_space() (PHP ile) c.disk_total_space() (PHP ile) d.move_uploaded_file() (PHP ile) e.parse_ini_file() (PHP 4 ile) f.pathinfo() (PHP ile) g.realpath() (PHP 4 ile)

V-a. getcwd() (PHP 4 ile) O an çalışılan dizinin tam yolunu metin olarak döner. <? echo getcwd(); ?> Çıktısı: /usr/local/httpd/htdocs C:\Program Files\Apache Group\Apache\htdocs

V-b. disk_free_space() (PHP ile) Parametrede verilen dizine ait bölümdeki boş alanı bayt cinsinden döner. Eğer yanış bir dizin verilirse boş döner. <? echo disk_free_space(“.”); ?> Çıktısı: UYARI: Windows işletim sistemi üzerinde her zaman boş dönmektedir. diskfreespace() fonksiyonu bu fonksiyonun kısa yoludur.

V-c. disk_total_space() (PHP ile) Parametrede verilen dizine ait bölümdeki alanın büyüklüğünü bayt cinsinden döner. Eğer yanış bir dizin verilirse boş döner. <? echo disk_total_space(“.”); ?> Çıktısı: UYARI: Windows işletim sistemi üzerinde her zaman boş dönmektedir.

V-d. move_uploaded_file() (PHP ile) PHP ile sunucuya yüklediğiniz dosyaları başka bir dizine ve başka bir isimle taşımanızı sağlar. Birinci parametresine yüklenen dosya adı, ikinci parametresine ise taşınacak dizin ve yeni dosya adı verilir. <form method=“post” action=“yukle.php” enctype=“multipart/form-data”> Dosya:

V-d. move_uploaded_file() (PHP ile) <? # yukle.php echo “Önceki Dosya: $dosya ”; if (move_uploaded_file($dosya, getcwd().”/dosya.txt”)) echo “Yüklendi”; else echo “Hata!”; ?> Çıktısı: Önceki Dosya: /tmp/phpxujllN Yüklendi

V-d. move_uploaded_file() (PHP ile) Eğer $dosya değişkeninde verilen dosya PHP kullanarak yüklediğimiz bir dosya olmasaydı (sistem üzerindeki herhangi bir dosya olabilir) fonksiyon FALSE değerini dönerdi ve çıktı Yüklendi yerine Hata! olurdu. Dosyamız PHP ile yüklenmiş doğru bir dosya ve sistemde oluşan herhangi bir hata yüzünden taşınamıyor olsaydı yine FALSE değerini döner ve PHP ek olarak bir hata verirdi. UYARI: Taşınacak yerde aynı isimde bir dosya varsa yeni dosyayı üstüne yazar.

V-e. parse_ini_file() (PHP 4 ile) Birinci parametrede verilen ayar (ini) dosyasını yorumlar ve dizi olarak döndürür. Eğer verilen dosya bulunamıyor veya açılamıyor ise betik hata verir ve çalışma sonlanır. İkinci parametrede ise dosya içindeki bölümleri yorumlayıp yorumlamıyacağı belirtilir. TRUE değeri verilirse bölümleri Yorumlayıp verileri çok boyutlu bir dizi olarak döner. FALSE verilirse – ikinci parametre verilmediğinde FALSE olarak atanmaktadır – veriler tek boyutlu bir dizi olarak döner.

V-e. parse_ini_file() (PHP 4 ile) ; Örnek ayar dosyası (ornek.ini) [ilk_bolum] bir = 1 bes = 5 [ikinci_bolum] yol = /usr/local/httpd/htdocs url = “ UYARI: Eğer veri içinde alfanumerik karakterler dışında bir karakter kullanılacaksa mutlaka çift tırnak (“) arasına alınmalıdır.

V-e. parse_ini_file() (PHP 4 ile) <? # yorumla.php echo “ ”; $dizi = parse_ini_file(“ornek.ini”); print_r($dizi); $dizi = parse_ini_file(“ornek.ini”, TRUE); print_r($dizi); echo “ ”; ?>

V-e. parse_ini_file() (PHP 4 ile) 1. Çıktısı: Array ( [bir] => 1 [bes] => 5 [yol] = /usr/local/httpd/htdocs [url] = )

V-e. parse_ini_file() (PHP 4 ile) 2. Çıktısı: Array ( [ilk_bolum] => Array ( [bir] => 1 [bes] => 5 ) [ikinci_bolum] => Array ( [yol] = /usr/local/httpd/htdocs [url] = )

V-f. pathinfo() (PHP ile) Parametrede verilen yola (path) ait dizin adı, dosya ismi ve dosya uzantısı bilgilerini dizi olarak döner. <? $bilgi = pathinfo(“/usr/local/httpd/htdocs/test.html”); echo $bilgi[“dirname”].” ”; echo $bilgi[“basename”].” ”; echo $bilgi[“extension”]; ?> UYARI: Verilen yolun doğruluğunu kontrol etmez.

V-f. pathinfo() (PHP ile) Çıktısı: /usr/local/httpd/htdocs test.html html

V-g. realpath() (PHP 4 ile) Parametrede verilen dizin veya dosyanın ya da her ikisinin gerçek ve düzenlenmiş halini döner. Verilen dosya veya dizin açılamaz veya bulunamazsa FALSE değerini döndürür. <? echo getcwd().” ”; echo realpath(“../..//../test.html”); ?> Çıktısı: /usr/local/httpd/htdocs/bir/iki/uc /usr/local/httpd/htdocs/test.html

V. Dosya ve Dizin Fonksiyonları Diğer yeni dosya fonksiyonları: fscanf() ftruncate()

VI. Metin (String) Fonksiyonları a.str_repeat() (PHP 4 ile) b.str_pad() (PHP 4 ile) c.substr_count() (PHP 4 ile)

VI-a. str_repeat() (PHP 4 ile) Birinci parametredeki metni, ikinci parametrede verilen sayı kadar çoğaltır ve döner. Eğer ikinci parametrede 0 ise boş metin döner. 0’dan küçük ise hata oluşur ve çalışma sonlanır. <? echo str_pad(“-=”, 10); ?> Çıktısı: -=-=-=-=-=-=-=-=-=-=

VI-b. str_pad() (PHP 4 ile) Birinci parametredeki metnin soluna, sağına veya her iki tarafına, istenilen boyuta ulaşana kadar üçüncü parametredeki metni ekler. Eğer üçüncü parametre verilmez ise yerine boşluk karakteri atanır. Dördüncü parametrede hangi yöne eklenmesi gerektiği belirtilir. Bu parametreye: STR_PAD_LEFT (sadece sola ekle) STR_PAD_RIGHT (sadece sağa ekle) STR_PAD_BOTH (her iki yöne ekle) değerlerini verebiliriz. Eğer bu parametre verilmez ise yerine STR_PAD_RIGHT değeri atanır.

VI-b. str_pad() (PHP 4 ile) <? echo “\””.str_pad(“PHP”, 10).“\” ”; echo “\””.str_pad(“PHP”, 10, “-=”, STR_PAD_LEFT).“\” ”; echo “\””.str_pad(“PHP”, 10, “_”, STR_PAD_BOTH). “\”; ?> UYARI: İkinci parametre negatif bir sayı veya verilen metnin uzunluğundan küçük bir sayı ise hiçbir değişiklik olmadan birinci parametredeki metin döner.

VI-b. str_pad() (PHP 4 ile) Çıktısı: "PHP " "-=-=-=-PHP" "___PHP____"

VI-c. substr_count() (PHP 4 ile) Birinci parametredeki metnin içinde ikinci parametredeki metnin kaç defa kullanıldığını döner. <? echo substr_count(“Bu bir örnek”, “r”); ?> Çıktısı: 2

VI. Metin (String) Fonksiyonları Yeni metin fonksiyonlarından birkaç tanesi: sscanf() wordwrap()

Unutulmaması Gereken... PHP sürümü ile birlikte: $HTTP_POST_VARS= $_POST $HTTP_GET_VARS= $_GET $HTTP_COOKIE_VARS= $_COOKIE $HTTP_SESSION_VARS= $_SESSION $HTTP_SERVER_VARS= $_SERVER $HTTP_ENV_VARS= $_ENV $HTTP_POST_FILES= $_FILES PHP kurulumunda register_globals = off