Firefox 3 ‘de Dosya Yüklemek
Firefox 3 birçok yenilik ve geliştirilmiş güvenlik ile geldi. Daha önce de söylemiştim, Firefox 3 ‘ü ayrıca ele alacağım. Fakat hızlı bir şekilde değinilmesi gereken yerler var. Bunlardan biri dosya yüklemek ile ilgili.
Web programcıları dikkat etmişlerdir, Ajax ve Javascript ile form değerlerini toplarken dosya isimleri
C:\Documents and Settings\kullanıcıadı\Desktop\dosyadı.soyadı
yada
/kökdizin/dizin/altdizin/kullanıcıadı/Desktop/dosyadı.soyadı
şeklinde gelirler. Ancak biz bunları örneğin bir PHP dosyasına gönderdiğimiz için
$dosya = $_FILES['formdosyadegiskeni']['name'];
şeklinde alır ve işimizi görürüz.
Fakat birde böyle olmadığını düşünün.
Nasıl yani mi? Şöyle;
Siz bir yandan dosyanın yüklenmesine izin veriyor, bir yandanda AJAX ile form kontrolü yapıyor, sorun yoksa verileri toparlıyor ve başka bir PHP dosyasında işlemlerini yaptırıyorsunuz. Bu arada sayfanın bir köşesinde “Dosyanız Yükleniyor, Lütfen Bekleyin” uyarısı çıkartıyor, altınada şu janjanlı yükleme barlarından koyuyorsunuz.
Formdan aldığınız “Multipart” olmayan verileri, işlem yaptırdığınız dosyada kullanıyor, dosyanın adının bulunduğu veriyide “Geçici” olarak depoluyorsunuz , belki bir güvenlik scriptiniz (betiğiniz) var, isimleri kıyaslayacaksınız, belki başka birşey.
$dosyaadi = strrchr($_POST['formdosyadegiskeni'], "\\");
Bunu sakın Firefox 3 ile denemeyin ve yukarıdaki herşeyi unutun. Firefox 3 kullanıcıyı düşünüyor (ama biz programcıları değil
) Şaka bir yana Firefox 3 geliştiricileri bütün bunları (ve güvenlik olarak fazlasını) düşünmüş olacaklar ki, Ajax veya Javascript ile aldığınız form değeri direkt olarak dosyanın adını veriyor.
dosyadi.soyadi
Kısacası artık kodlarınızı yazarken, Firefox 3 ‘ün bu özelliğini gözardı etmeyin ve eskilerinide değiştirmeyi unutmayın…
Yorumlar
Azizce.Com demişki
21 Ekim, 2008 @ 15:27
$dosya = $_FILES['formdosyadegiskeni']['name'];
Bu zaten o dediğiniz. Burada ajax ile yaşadığım bir problemi paylaşmak istedim.
ajax ile formdan girilen değerleri toplarken POST,FILES gibi PHP ‘nin önceden tanımlanmış değişkenlerini kullanamazsınız
Mili demişki
29 Ekim, 2008 @ 06:35
Good post.
Yorum yazın
Additional comments powered by BackType



adınız demişki
21 Ekim, 2008 @ 09:33
biz genelde dosya adını $_FILES['Filename']['name'] seklinde alıyoruz..