PHP ile Büyük Boyutlu Dosyaların Upload Edilmesi
PHP ile uygulama geliştirirken kolayca dosya upload edebilirsiniz. php.net'de dosya upload ile ilgili güzel de bir doküman hazırlanmış ve Türkçe'ye çevrilmiş, örnekler ile de nasıl yapılacağı gösterilmiş. Karşıya dosya yükleme (upload) en çok resimlerde kullanılır. Kullanıcılar resimlerini FTP gibi ek uygulamalar kullanmadan web sitelerine yükleyebiliyorlar, üstelik HTML5 ve Flash'da sürükle bırak kullanılabildiği için sanki bir uygulama ile dosya yüklüyor gibi web üzerinde dosya yükleyebilirsiniz.
Teknolojik gelişmelere paralel olarak dosyaların kalitesi ve buna bağlı olarak da boyutu artmıştır. Bugün sıradan bir cep telefonunda bile 5 MP kamera bulunmaktadır.
PHP varsayılan olarak 2 MB'dan büyük dosyaların karşıya yüklenmesine yani sunucuya upload edilmesine izin vermez. Büyük dosyalar için kullanıcılara dosyalarını 2MB'a göre düzenlemelerini söyleyebilirsiniz, ama bu hiç de pratik ve iyi bir çözüm olmaz. Bunun yerine 2MB sınırını yükseltmek daha iyi bir çözüm olur.
PHP'de upload edilecek dosyanın maksimum boyutunu belirlemek için upload_max_filesize ve post_max_size ayarlarını düzenlemek gerekiyor. Bunun dışında PHP dosyaların ne kadar sürede zaman aşımına düşeceğini belirleyen parametreyi de düzenlemek gerekiyor. Dosya upload ile ilgili PHP'nin konfigürasyon dosyası php.ini de aşağıdaki ayarları yapabilirsiniz.
php_value upload_max_filesize 10M
php_value post_max_size 10M
php_value max_input_time 300
php_value max_execution_time 300
Aynı ayarları php kodunuz içinden de aşağıdaki şekilde yapabilirsiniz.
Bunun dışında büyük boyutlu dosyaların upload edilmesi ile ilgili sizin bir öneriniz var mı?

Yorumlar
Eğer PHP'de dosya yüklemede
Pzr, 19/12/2010 - 14:57 — TolgaEğer PHP'de dosya yüklemede bir sorunum olmasın diyerek post_max_size değerini çok fazla yükseltirseniz (örneğin 2048M gibi) bu sefer de POST değerlerinin gönderilmemesi gibi bir olay var.
Evet doğru söylemiş arkadaş.
Per, 26/05/2011 - 08:42 — MisafirEvet doğru söylemiş arkadaş. Eğer post değerini çok yüksek tutarsanız her seferde çok veri aktarılmış olur fakat aktarım verimsizleşir. Örn crc hatası gibi bir durum ile karşılaşırsa gönderilen paket, tekrar gönderilmek zorunda kalınacağı için daha büyük zaman kaybına yol açabilir.
Yeni yorum ekle