Linuxweb.Tr.GG Online PHP,MYSQL Kılavuzu - Dosya "çıkartma"
   
Menü
  Ana Sayfa
  LinuxWeb Anket
  Bedava Linux Siteleri Evinize Teslim
  Linux Haberleri
  Linux Destek, Teknoloji ve Eğitim Kurumları
  Linux E-Book
  Linux Siteleri
  Windows'da Linux Temaları
  Temel Linux Komutları
  Temel Linux Komutları 2
  Linux Kitapları ve Dergileri
  Pardus Nedir ?
  Pardus İndir
  Pardus Değişenler
  Linux Dersleri 1
     
  PHP ve MYSQL
  PHP
  PHP'ye Giriş
  PHP ve Veritabanı
  PHP ve Web Sunucusu
  Unix/Linux Sistemleri
  Linux'ta program derlediniz mi?
  Güvenli socket ve Internet Erişimi Katmanı
  Windows-PWS ve IIS
  Browser Yetenek Dosyası: Browscap.ini
  PWS 4.0
  Windows'da Apache!
  Windows'da MySQL
  PHP Dili
  PHP'nin Yapı Taşları
  PHP programını durdurmak
  Değişkenler
  Veri Türleri
  Tür Değiştirme
  Fonksiyon
  Escape
  Dört yararlı fonksiyon
  İşlemciler (Operatörler)
  Bir Arttırmak veya Azaltmak için
  Sabit Değerler
  Tarih ve saat Verisi
  PHP'de Program Denetimi
  if Deyimi
  switch deyimi
  switch için kısa yol
  Döngüler
  while döngüsü
  do..while
  for döngüsü
  foreach
  Döngüyü sona erdirmek için: break
  Döngüyü sürdürmek için: continue
  Fonksiyonlar
  Fonksiyon Tanımlama ve Çağırma
  Fonksiyona varsayılan değer verebiliriz
  Değişkenlerin kapsamı: global ve static
  Dizi-Değişkenler, Nesneler
  Dizi Değişken Oluşturalım
  Dizi değişkenleri kullanalım
  Dizi Değişkenlerin Düzenlenmesi
  Dizileri birleştirme: array_merge()
  Dizilere değişken ekleme: array_push()
  Dizinin ilk elemanını silme: array_shift()
  Diziden kesit alma: array_slice()
  Dizileri sıralama: sort() ve rsort()
  İlişkili dizileri sıralama: asort() ve ksort()
  Nesneler
  Bir Nesne Oluşturalım
  PHP İşbaşında
  Formlar
  Form'dan GET Metoduyla Gelen Bilgiler
  URL Kodları
  Form'dan POST Metoduyla Gelen Bilgiler
  Form ile işlemciyi Birleştirelim
  Dosya "çıkartma"
  Dosya İşlemleri
  Harici Dosya (include)
  include mu, require mı?
  Dosyalar hakkında bilgi
  Dosya var mı? file_exits()
  Dosya mı, dizin mi? is_file() ve is_dir()
  Dosya okunabilir mi? is_readable()
  Dosya yazılabilir mi? is_writable()
  Dosya çalıştırılabilir mi? is_executable()
  Dosya boyutu: filesize()
  Dosyaya son erişim tarihi: fileadate(), filemtime() ve filectime()
  Dosyalar oluşturma ve silme
  Dosya açma
  Bir Fonksiyonu durdurmak için: Öl!
  Dosya okuma: fgets(), fread() ve fgetc()
  fseek() ile ölçü belirleme
  Dosyaya yazma ve ek yapma: fwrite() ve fputs()
  Kullanımdaki dosyayı kilitleyin!
  Dizinlerle İşlemler
  Dizin içeriğini listeleme: opendir() ve readdir()
  Dizin oluşturma: mkdir()
  Dizin silme: rmdir()
  Bir Dosya İşlemi Örneği: Konuk Defteri
  Metin Düzenleme ve Düzenli İfadeler
  Temel Alfanümerik Fonksiyonları
  substr()
  trim()
  ord()
  strlen()
  chr()
  printf() ve sprintf()
  number_format()
  Tarih ve Saat Düzenleme
  Düzenli İfadeler
  Eşleştirme deyimleri ve işaretler
  Düzenli İfadelerde Özel Karakterler
  Karakter Grupları
  Düzenli İfade Fonksiyonları
  ereg() ve eregi()
  ereg_replace() ve eregi_replace()
  split()
  sql_regcase()
  PHP ile Veritabanı
  MySQL Veritabanı
  mySQL veri türleri
  PHP-MySQL İlişkisi
  PHP'de Güvenlik
  Parola ve SSL
  Tırnak İşareti Sorunu
  PHP Kaynakları
       

Dosya "çıkartma"

Internet'ten hep dosya "indiririz!" Bir sunucuya, Web ziyaretçisi olarak gönderebildiğimiz tek şey ise, Formlara yazdığımız yazılardır! Oysa HTML'in INPUT INPUT etiketinin çok az kullanılan TYPE="file" parametresi ziyaretçiye Web sunucusuna dosya gönderme (upload) imkanı sağlar. HTTP protokolü buna imkan vermekle birlikte Browser'lar bu imkanı kullanmaya ileri sürümlerinde kavuştular. PHP4, ziyaretçilerimizin sitemize dosya göndermeleri halinde, bu dosyaların yönetimine ayrıca kolaylık sağlayan değişkenlere sahiptir.  Önce şu dosyayı, dosya_gonder.php adıyla kaydedin:

<HTML>

<HEAD>

<TITLE>PHP'de Dosya Gönderme</TITLE>

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-9">

<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">

</HEAD>

<?php

$dosya_dizin = "/inetpub/wwwroot/";

$dosya_url = "http://server/";

if ( isset ( $dosya_gonder )) {

    print ("<b>Yol:</b> $dosya_gonder<br>n");

    print ("<b>Adı:</b> $dosya_gonder_name<br>n");

    print ("<b>Boyut:</b> $dosya_gonder_size<br>n");

    print ("<b>Tür:</b> $dosya_gonder_type<br>n");

    copy ( $dosya_gonder, "$dosya_dizin/$dosya_gonder_name" )or die ("Dosya kopyalanamıyor!");

      if ( $dosya_gonder_type == "image/gif" ||$dosya_gonder_type == "image/pjpeg"  ) {

      print ("<img src="$dosya_url/$dosya_gonder_name"><p>nn");

      }

}

?>

</BODY>

<FORM  ENCTYPE="multipart/form-data" ACTION="<?php print $PHP_SELF?>" METHOD="POST">

<INPUT TYPE="hidden" NAME="MAX_FILE_SIZE" VALUE="951200">

<INPUT TYPE="file" NAME="dosya_gonder"><BR>

<INPUT TYPE="SUBMIT" VALUE="Dosya Yolla!">

</FORM>

</BODY>

</HTML>

Bu programda <INPUT TYPE="file" NAME="dosya_gonder"> etiketinde kullandığımız NAME parametresine verdiğimiz değer, ziyaretçimizin göndereceği dosyanın sunucu tarafından kaydedileceği geçici dizinin tam yolunun yazılacağı değişkenin adı olacakdır. PHP, bu dosya ile ilgili her türlü bilgiyi bu adla kaydedektir. PHP, ziyaretçiden bir dosya başarıyla aktarıldığı anda otomatik olarak bu isimden yararlanarak şu değişkenleri oluşturur:

$dosya_gonder                     Geçici kayıt dizini yolu (UNIX'te /tmp/phpXXX, Windows'da Windows/TEMP0phpXXX. Burada XXX yerine ziyaretçilerin gönderdiği dosyaların sıra numarasını göreceksiniz.)

$dosya_gonder_name            Ziyaretçinin gönderdiği dosyanın adı.

$dosya_gonder_size               Ziyaretçinin gönderdiği dosyanın boyutu.

$dosya_gonder_type              Ziyaretçinin gönderdiği dosyanın türü

PHP ayrıca bu bilgileri $HTTP_POST_FILES dizi-değişkeninde de tutar.

Yukardaki programda şu iki değişken çok önemlidir:

$dosya_dizin = "/inetpub/wwwroot/";

$dosya_url = "http://server/";

$dosya_dizin adıyla oluşturduğumuz değişkene vereceğimiz değer, ziyaretçinin göndereceği dosyanın kopyalanacağı klasörün adı olarak kullanlacaktır. Sözgelimi Windows ortamında buraya kişisel Web sunucunun varsayılan klasörünün adını yazabilirsiniz. Ziyaretçinin göndereceği dosya bir GIF biçiminde grafik dosyası ise bunu Browser'da görünteleyeceğimiz için, bu dizinin Web'e açık olması, başka bir deyişle bizim Web sunucumuzun erişebileceği bir dizin olması gerekir. Nitekim, $dosya_url değişkenine değer olarak bu klasörün URL adresini veriyoruz. Bu iki değişkeni gerçek Web sunucu için yazacağımız zaman, bizim sunucumuzun varnaydığı fiziksel klasör adını ve yolunu bulmamız gerekir. Bunu daha önce yazdığımız php.php veya formlar01.php programlarını sitemizde çalıştırarak bulabiliriz. (Nasıl?) Sözgelimi, http://www.mycgiserver.com/~ocal/ adresindeki sitenin fiziksel adresi ile bu adresin URL'ini dikkate alarak bu iki değişkeni yazmış olsaydık, şunu yazacaktık:

$dosya_dizin = "/wwwroot/mycgiserver.com/members/uNhM13/";

$dosya_url = "http://www.mycgiserver.com/~ocal/";

Bu uygulamayı kendi sunucunuzda yapmak isterseniz, mutlaka bu iki değişkeni doğru yazmanız gerekir. http://www.mycgiserver.com/~ocal/ dosya_gonder_server.php programı ile bir dosya gönderme (upload) işleminin sonucu şöyle:

Alt sayfaya geçiniz.

   
Bugün 82 ziyaretçi (97 klik) Tekil ziyaretci sitemizi ziyaret etti...
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol