adsense

23 Ağustos 2013 Cuma

Define kullanımı

Sabitler de değişkenler gibi değer depolamaya yararlar. Sabitleri atamak için define() fonksiyonu kullanılır ve sabitler değişkenlerden farklı olarak betik içinde tekrar değiştirilemezler. 


PHP: 

PHP Kodu:
<?php 
define
("pazar""Haftanın en sevdiğim günü"); 
echo 
pazar?>


define() fonksiyonu 3 parametre alabilir. 3. parametresi isteğe bağlıdır. İlk parametre sabitin adı ikinci parametre sabitin alacağı değeri belirler. Yukarıdaki örnekte gördüğünüz gibi sabitleri kullanmak için değişkenler gibi başlarına $ işareti koymuyoruz. Sadece sabitin adını yazıyoruz. 

Sabitlerde varsayılan olarak büyük küçük harf ayrımı vardır. PAZAR ile pazar aynı değildir. Eğer yukarıdaki örnekte echo PAZAR ifadesini kullansaydık ekrana PAZAR yazacaktı. Bu durumu define() fonksiyonunun 3. parametresi ile aşabiliriz. Sabitlerdeki büyük küçük ayrımını devre dışı bırakabiliriz. 


PHP: 

PHP Kodu:
<?php 
define
("pazar""Haftanın en sevdiğim günü"true); 
echo 
PAZAR?>


Yukarıdaki kod ekrana sabitin taşıdığı değeri yazar. 3. parametre true ve false mantıksal değerlerini alır. true büyük küçük harf ayrımını ortadan kaldırır, false ise tam tersini yapar. 

Sabitlerin kontrol edilmesi 

Sabitlerin var olum olmadığını defined() fonksiyonu ile kontrol ederiz. Yani sabit tanımladığımız define() fonksiyonunun sonuna sadece "d" harfi getiririz.


PHP: 

PHP Kodu:
<?php 
define
("pazar""Haftanın en sevdiğin günü"); define("sali""Salı sallanır derler"); 
if(
defined('cuma')) { 
echo 
"Cuma tanımlanmış"
} else { 
echo 
"Tanımlanmamış"
?>


define() fonksiyonun 3. parametresi defined() fonksiyonunu da etkiler. Varsayılan olarak defined() fonksiyonu da büyük küçük harf ayrımı yapar.
 
NOT:ALINTIDIR....

PHP Ile Bir Style.css Dosyasını Düzenleme

<?php
/**
 * Created by JetBrains PhpStorm.
 * User: WebDeveloper
 * Date: 23.08.2013
 * Time: 15:10
 * To change this template use File | Settings | File Templates.
 */
if(file_exists("style.css"))
{
    if(!$_POST["cssGuncelle"]){
        $dosya  = fopen("style.css","r");
        $css = fread ($dosya,filesize("style.css"));
        echo '
        <form action="index.php" method="POST">
        <textarea name="csscode" cols="90" rows="40">'.$css.'</textarea>
        <input type="submit" name="cssGuncelle" value="Güncelle">
        </form>
        ';
        fclose($dosya);
    }else{
        $dosya  = fopen("style.css","w");
        fwrite($dosya, $_POST["csscode"]);
        fclose($dosya);
        header('Location: index.php');
    }
}
?>


Bu style.css dosyasını (aynı dizindeki, dizin değiştirilebilir) çağırıp, içindekileri bir textarea'ya aktarıp, siz orada düzenleme yapıp güncelle butonuna bastığınızda css dosyanızı günceller.

30 Temmuz 2013 Salı

PHP dizin işlemleri

PHP ile dizin işlemleri sayesinde yeni dizinler oluşturabilir, dizinleritaşıyabilir, yeniden adlandırabilirsilebilir ve içinde neler olduğunu gösterebiliriz.
Web tabanlı dosya yöneticisi gibi bir yazılım yapmak ya da dosya upload çalışmalarına girişmek için öğrenmemiz gereken konulardan bir tanesi olan dizin işlemleri sayesinde tüm dosya yönetimi olaylarına el atmış bulunuyoruz.
Dosya işlevlerinde olduğu gibi dizin işlemlerinde de çoğu çalışmayı fonksiyonlar ile yapacağız. Birönceki derste anlattığım gibi dizin olayları için de izin ve yetkiye ihtiyacımız olacak.

PHP ile bir dizin oluşturmak

Yeni bir klasör oluşturmak şeklinde de değerlendirebileceğimiz bu olayı mkdir() fonksiyonu sayesinde gerçekleştiririz. Bir parametre ile çalışır, ama eğer istersen 2. parametre ile dosyaCHMOD değerini belirtebilirsin.
mkdir('merhaba');
Yukarıdaki örneği çalıştırdığımızda çalıştırdığımız dizinin içerisinde merhaba adında yeni bir klasör oluşturmuş oluruz.
Eğer oluşturacağımız yeni dizinin CHMOD değerinide ifade etmek isteyecek olursak 2. parametreyi devreye sokuyoruz.
2. Parametreyi kullanmazsak varsayılan değeri “0777″ yani tüm izinleri verilmiş durumda olur.
mkdir('yenidizin', '0655');
Bu örnekte de yenidizin adında bir dizin oluşturup 0655 CHMOD değeri vererek yazma iznini iptal etmiş olduk.

PHP ile bir dizini silmek

Varolan dizinleri silmek için rmdir() fonksiyonunu kullanırız. Bu fonksiyon ile sileceğimiz dizininin içerisi boş olmak zorundadır. Eğer dolu bir dizini bu şekilde silmeye kalkışırsak PHP kızıp hata gösterecektir.
Dolu bir dizini olduğu gibi silmek istiyorsak eğer, o zaman önce diğer dersde anlattığımızunlink() fonksiyonunu kullanarak tüm içeriği silmemiz gerekecek.
rmdir('merhaba');
Bu örnek çalıştığında merhaba adında bir dizin kalmamış olur.

PHP ile dizinlerin ya da dosyaların adını değiştirme ve taşıma

Aslında dizinlerin ya da dosyaların adını değiştirmek ile taşımak aynı şey diyebiliriz. Garip gelsede ismini değiştirdiğinizde aslında onu bir nevi taşımış olursunuz.
Bu işi rename() fonksiyonu ile gerçekleştireceğiz. İki parametre ile çalışan bu fonksiyonun ilk parametresine taşıyacağımız ya da değiştireceğimiz, dosya ya da dizin adın, ikinci parametreye ise taşıyacağımız yolu yazarız.
rename('eski', 'yeni');
Yukarıdaki örnek çalıştığında eski adında klasörü yeni adında değiştirir.
Aynı şekilde dizin yerine bir dosya uzantısı ve adı belirttiğimizde bu sefer değiştirme işini dosya üzerinde yapacaktır.
rename('resim.jpg', 'manzara.jpg');
Bu çalışmada da resim.jpg adındaki dosyamızın adını manzara.jpg olarak değiştirecektir.
Yine benzer şekilde ikinci parametrede farklı bir dizin belirttiğimizde dosyayı o dizine taşıyacaktır.
rename('resim/bir.jpg', 'manzaralar/resim.jpg');
Burada resim klasörü içindeki bir.jpg dosyasını manzaralar klasörüne taşıyıp adını resim.jpgolarak değiştirmiş olduk.

PHP ile dizin içerisindekileri okuma

Bir dizinin içerisinde bulunan tüm dosyaları listelemek için iki fonksiyona ve bir while döngüsüne ihtiyacımız var.
İlk olarak opendir() fonksiyonu ile aynı fopen() ile dosya açmadaki mantık gibi dizini açarız. Ardından dizini bağlantısını yüklediğimiz değişkeni readdir() fonksiyonu ve while döngüsü ile bağlayıp tüm dizinin içeriğine ulaşırız.
$dizin = opendir('dosyalar');
while($dosya = readdir($dizin)) {
   echo $dosya . ' <br/>';
}
Burada dikkatinizi çekecek mevzu while döngüsü içinde kullandığım koşul olabilir. Tek eşittir işareti kullandığımız bu koşulda amaç diğer koşullara göre farklıdır.
Bu özel yöntem sayesinde döngü tüm dizindeki dosyaları sayana kadar tek tek dönecektir.
Ekranda da dosyalar dizininin içeriğine göre dosya adları sırayla yazacaktır.
Örneğin içinde resim.jpg, dosya.rar ve müzik.mp3 dosyası olan dosyalar dizininde ekrandaki çıktı:
.
..
resim.jpg
dosya.rar
müzik.mp3
Şeklinde olacaktır. Burada ilk çıkan . ve .. işaretleri bir alt dizini ve şuanki dizini ifade eder. İstersen o işaretleri bir if ifadesi ile saf dışı bırakıp sadece içeriğe ulaşabilirsin.
Bir sonraki PHP serüvenlerinde görüşmek üzere esen kalın.