Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi
PHP dosyası, PHP yorumlayıcısı tarafından web sunucusunda veya komut satırında çalıştırılabilen ve genellikle .php uzantısıyla kaydedilen metin dosyasıdır. Dosya; dinamik HTML üretmek, form verilerini işlemek, veritabanıyla konuşmak veya başka sunucu işlemlerini yürütmek için kullanılır. Doğru yapılandırılmış bir web sunucusunda PHP kodu tarayıcıya doğrudan gönderilmez; sunucu kodu çalıştırır ve tarayıcıya çoğunlukla oluşan HTML çıktısını gönderir.

PHP dosyası nasıl çalışır?​


Bir ziyaretçi PHP dosyasını istediğinde web sunucusu dosyayı PHP işlemcisine iletir. PHP kodu çalışır, varsa veritabanı veya dosya işlemleri yapılır ve sonuç bir yanıt olarak tarayıcıya döner. Tarayıcı PHP kodunu değil, bu kodun ürettiği çıktıyı görür.

PHP dosyası yalnızca PHP kodundan oluşmak zorunda değildir. HTML, CSS ve JavaScript içerebilir; PHP bölümleri genellikle <?php ile başlar. PHP kodunu kapatmak çoğu zaman gerekli olmadığından, yalnız PHP içeren dosyalarda kapanış etiketi kullanılmaması istenmeyen boşluk çıktısını azaltabilir.

Somut bir PHP dosyası örneği​


Aşağıdaki içeriği index.php adıyla boş bir klasöre kaydedin:

Kod:
<?php
$kullanici = "Ayşe";

?><!doctype html>
<html lang="tr">
<head>
    <meta charset="utf-8">
    <title>PHP örneği</title>
</head>
<body>
    <h1>Merhaba, <?= htmlspecialchars($kullanici, ENT_QUOTES, 'UTF-8') ?>!</h1>
</body>
</html>

Burada $kullanici sunucu tarafındaki bir değişkendir. Kısa echo sözdizimi olan <?= ... ?> değişkenin değerini HTML içine yerleştirir. htmlspecialchars ise kullanıcıdan veya dış bir kaynaktan gelebilecek metni HTML bağlamında güvenli biçimde göstermek için kullanılır.

Açma biçimiNe olur?Uygun amaç
Metin editörüKaynak görülür, PHP çalışmazDüzenleme
PHP CLIBetik çalışır, çıktı komut satırına giderKomut ve otomasyon
PHP destekli HTTP sunucusuÜretilen yanıt istemciye dönerWeb sayfası/API

Yerelde çalıştırma ve sonucu yorumlama​


PHP kurulumu yapılmışsa, dosyanın bulunduğu klasörde şu adımları izleyin:

  1. Komut satırını açıp index.php dosyasının bulunduğu klasöre geçin.
  2. Yerel geliştirme sunucusunu php -S localhost:8000 komutuyla başlatın.
  3. Tarayıcıda http://localhost:8000 adresini açın.
  4. Sayfada Merhaba, Ayşe! metnini görürseniz dosya PHP tarafından çalıştırılmıştır.

Tarayıcıda PHP kodunun kendisi görünürse veya dosya indirilirse dosyayı doğrudan açmış ya da PHP desteği olmayan bir sunucu kullanmış olabilirsiniz. php: command not found benzeri bir çıktı, PHP'nin kurulmadığını veya komutun sistem yoluna eklenmediğini gösterir. Sunucunun hata günlüğü boş sayfa ya da HTTP 500 yanıtı için en doğru teşhis kaynağıdır.

Bu yerel komut geliştirme ve deneme içindir; üretim ortamındaki web sunucusunun PHP isteklerini doğru yapılandırması gerekir. Dosyayı tarayıcıda file:// adresiyle açmak PHP yorumlayıcısını çalıştırmaz; dosya ilişkilendirmeleri işletim sistemine göre değişebilir.

PHP dosyasıyla ilgili doğru kararlar​


  • Dinamik veri, form veya sunucu işlemi gerekiyorsa PHP dosyası kullanın; yalnızca sabit içerik için HTML dosyası yeterli olabilir.
  • Kullanıcı veya dış sistem verisini HTML içine yazarken uygun çıktı kaçışını uygulayın; değişkeni doğrudan sayfaya basmayın.
  • PHP kaynak kodunu tarayıcıya göndermeyin. Sunucunun PHP dosyalarını yorumladığını basit bir test dosyasıyla doğrulayın.
  • Dosya adını değiştirmenin tek başına PHP çalıştırmadığını unutmayın; sunucuda PHP yorumlayıcısı ve uygun istek yönlendirmesi bulunmalıdır.

Sık sorulan sorular​

Bir PHP dosyası mutlaka HTML mi üretir?​

Hayır. JSON, düz metin veya uygun başlıklarla dosya çıktısı üretebilir. İstemciye gönderilen Content-Type, üretilen veriyle eşleşmelidir. Dosya uzantısı .php diye yanıtın otomatik olarak bir HTML sayfası olması gerekmez; örnekteki HTML yalnız yaygın kullanımın gösterimidir.

htmlspecialchars her çıktı bağlamını güvenli yapar mı?​

Hayır. Örnekte HTML metin alanına yazılan adı kaçışlamak içindir. JavaScript, CSS veya bir URL’nin kendi kuralları farklıdır. Aynı dönüşümü her yere uygulamak yerine verinin nereye yerleştirildiğini belirleyin. Girdi doğrulaması ile doğru bağlamda çıktı kaçışı birbirinin yerine geçmez.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic