Biraz araştırırsan sanırım bi şeyler bulabilirsin yada bu metni okumalısın yok oda olmadı tekrar forumdan haberleşiriz bildiğimiz kadarıyla sana yardımcı olmaya çalışırım. kolay gelsinAlıntıdır! Dosya yükleme hakkında zet bir yazı. PHP İle Sunucuya Dosya Yükleme Web uygulamalrında bazen sunucuya istemci tarafından dosya yüklenmesine ihtiyaç duyulur. Bu yazı istemciden sunucuya dosya yükleme uygulamarı için PHP 'nin sağladığı fonksiyonlar hakkındadır. PHP dosya yüklemeyi destekleyen bütün tarayıcılardan dosya yükleme isteklerini işleyebilir. İki farklı yntemle bu yapılabilmektedir. POST ve PUT yntemleri. Bu yazıda daha çok kullanılan POST ynteminden bahsedeceğiz. POST yntemi HTML 'form' kullanılarak yüklenecek dosyanın belirtilmesi ve bu dosyanın POST yntemiyle sunucudaki bir betiğe gnderilmesinden ibarettir. Yalnız dosya yüklerken kullanılan HTML 'form' un belli başlı farklılıkları vardır. Dosya yüklemek için kullanacağımız HTML 'form' aşağıdaki gibi olmalıdır. <form enctype='multipart/form-data' action='dosyayi_alip_islem_yapacak_php_betigi' method='POST'> Gnderilecek dosya: <input name='userfile' type='file'> <input type='submit' value='Gnder'></form> Bu formda dikkat edilmesi gereken ve diğer formlardan farklı olan iki nokta vardır. Birincisi dosya ismini verğimiz'type=file' olan form elemanıdır. İkincisi ise form zelliği olarak 'enctype='multipart/form-data'' kullanılmasıdır. Bu zellik kullanılmasza dosya sunucuya gnderilemez. Form doldurulup gnderildiğinde formu işleyecek betikte $_FILES global değişkeni oluşur. Bu değişken kullanılarak yüklenmek istenen dosya hakkında gerekli bilgilere ulaşırız. Bu dizinin indeksleri ve değerleri şu şekildedir. $_FILES : Dosyanın istemci bilgisayarındaki gerçek ismi. $_FILES : Dosyanın türü. rneğin image/gif, image/jpg gibi $_FILES : Dosyanın boyutunun byte cinsinden değeri. $_FILES : Dosyanın sunucudaki geçici yeri. Form doldurulup gnderildiğinde dosya PHP tarafından php. ini 'de upload_tmp_dir belirteciyle belirtilen dizine bu isim ile alınır. Daha sonra PHP fonksiyonları kullanılarak başka biryere kayıt edildiğinde dosya buradan silinir. $_FILES : Dosya yükleme ile ilgili oluşan hatanın kodu. Form doldurulup gnderildiğinde dosya geçici dizine geçici bir isimle yüklenir ve PHP $_FİLES dizisini kullanarak dosyayı istediğimiz dizine kopyalayabiliriz. Bu kopyalama işlemleri için PHP nini sağladığı ntanımlı fonksiyonları kullanırız. Basit bir rnek olarak : <?php $uploaddir= '/var/www/dosya/';$uploadfile=$uploaddir. basename ;if (move_uploaded_file else echo 'Dosya ile ilgili ayrıntılı bilgi :&lt;br&gt;';print_r ;?>Yukarıdaki kod ile form tarafından gnderilen dosya $uploadfile değişkeninde belirtilen yere kaydedilir. Bunun için kullanılan move_uploaded_file fonksiyonu iki parametre alır. Birincisi yüklenecek dosya ismidir ve geçici dizine kaydedilen dosya adı ile verilmelidir. . İkinci parametre ise dosyanın kaydedileceği dizindir. move_uploaded_file dosya yüklemede yada dizine kopyalamada problem olursa False dner. Kopyalama işlemi başarıyla yapıldığında ise True dner. move_uploaded_file kopyalanmak istenen dosya klasrde var ise bir uyarı vermeden üzerine yazar. Bu fonksiyonu kullanarak sadece PHP aracılığıyla yüklenmiş dosyaları kopyalayabiliriz. Ek olarak is_uploaded_file fonksiyonu kullanarak dosyanın POST yntemiyle yüklenip yüklenmediğini kontrol edebiliriz. Fonksiyon dosya POST yntemiyle yüklenmişse ve dosya ile ilgili bir güvenlik problemi yoksa True dner. Dosya yüklerken güvenlik kontrolu için bu dosya da kullanılmalıdır. Dosyanın sunucudaki geçici ismini $_FILES arguman olarak alır.<?php $uploaddir= '/var/www/dosya/';$uploadfile = $uploaddir. basename ;if(is_uploaded_file {if(move_uploaded_file else /B>}else echo 'Dosya ile ilgili ayrıntılı bilgi :&lt;br&gt;';print_r ;?>Aynı Anda Birden Fazla Dosya YüklemePHP ile aynı anda birden fazla dosya yüklenebilir. bunun için dosya yükleme formunun uygun şekilde yapılması gereklidir. rneğin<form action='' method='enctype=multipart/form-data'>Resimler:<input type='file' name='pictures '><input type='file' name='pictures '><input type='file' name='pictures '><form>Form doldurulup gnderildiğinde dosyalara $_FILESdeğişkeni kullanarak ulaşabiliriz. Tek dosya yüklemesinden farklı olarak $_FILES ,$_FILES ,$_FILES ve $_FILES birer dizi olarak oluşturulur.$_FILES İlk dosyanın adı$_FILES İkinci dosyanın adı$_FILES Üçüncü dosyanın adı$_FILES İlk dosyanın boyutu$_FILES İkinci dosyanın boytu$_FILES Üçüncü dosyanın boyutuBirden çok dosyayı aşağıdakine benzer bir kodla sunucuya yükleyebiliriz.<?phpforeach {if }?>İpuçları neriler1) Php. ini deki upload_max_filesizebelirterciyle belirtilen boyuttan fazla boyuttaki dosyaları yüklenmeye çalışıldığında hata verir. Bu belirteci ihtiyaca gre ayarlanmalıdır.2) Php. ini deki post_max_sizebelirtecinin değeri de dosya yüklemeleri etkiler. upload_max_filesizedeğeri post_max_size değerinden büyükse boyutu post_max_size değerinden büyük dosyalar yüklenirken hata verir.3) Yüklenen dosya türlerini kontrol etmek güvenlik için nemlidir. Bu kontrolu $_FILES değerini kullanarak yapabilirsiniz. Bu değer tarayıcı tarafından gnderildiği ve PHP bu değeri ayrıntılı kontrol etmediği için olması gereken değerinden farklı gnderilebilir. Kullanıcı çalıştırılabilir bir dosya image/gif gibi yükleyip daha sonra bu dosyayı çalıştırıp sunucunuzda işlem yapabilir. Daha güvenli kontrol için mime_content_type , getimagesize gibi fonksiyonları kullanılarak dosya türü hakkında daha doğru bilgi alınabilir.4) Max_input_time belirteci bir betiğin girdi alırken geçirebileceği azami süreyi belirtir. Bu süre yavaş bağlantılarda boyutu büyük dosyaları yükleme sırasında geçilebilir ve bu durum dosya yüklenmesine engel olur.5) Farklı dosya sistemleri ve listeleme türleri olduğu için dosya isimlerinde boşluk, Türkçe karakter kullanılan dosyaların işlemlerinde hata olabilir. www.php.net 'teki 'Chapter 38. Handling file uploads' konusunun sadeleştirilmiş ve Türkçe''ye çevirilmiş halidir. Yaşamak Hızlı Bir lme Biçimidir!

uzun zamandır flash oyun sitesi yapmak istiyorum ve güzel bir script bulamadım. oyunweb.com - oyyun.com daha birçok rnek verebiliriz. Oyunu Admin Panelinden upload edebileceğimiz bir php script yazabilecek bi nevi bir yardım sever arıyorum ;)tabii ben bunun altında kalmayacağım. karşılığını alıcak ama şuan için değil.. MSN: cuneytozavci@hotmail.com www.adarehberim.com // Sakarya Firma Rehberi