Sunucu derken ? Ben sadece wamp server ile kendi bilgisayarımdan çalışıyorum. Yani projeyi internete yüklemedim. Sorun gözükmüyorsa böyle geçiştirmeye çalışacam saolun . |
Tamam. Kontrol siz de yani. php.ini dosyasının yerini bulun ve yazdıklarımı yapın olur. |
php.ini dosyasını da buldum şimdi ne yapacam ? nereleri değiştireyim |
Klasörlerin birinin içerisinde, ama programına göre değişiyor. Bir dosyaya aşağıdaki kodu yazıp o sayfayı açınca php.ini kelimesini aratıp yeri tespit edilebilir. <?php phpinfo(); ?> |
tmm buldum |
bu arada ben denedim de dosya yüklerken 8mb'tan daha fazla yüklerken hiçbir sonuç alamıyorum. |
php.ini için şu an dediğim limitler kaç yapıldı? Bir değiştirdikten sonra apache yeniden başlatılmalı. |
BENİM php.ini DOSYAMIN İÇİNDEKİ VERİLER BU ŞEKİLDE ; ; Maximum allowed size for uploaded files. upload_max_filesize = 2M max_execution_time = 30 max_input_time = 60 memory_limit = 128M AYRICA ; Must be greater than or equal to upload_max_filesize post_max_size = 40M diye bir ifade yazmıştınız onu bulamadım |
Öncelikle; Sadece post_max_size yazıp aratın. Sonuç çıkmıyorsa bu satırı siz de ekleyebilirsiniz. post_max_size = 100M şeklinde olabilir. Aslında upload için önemli olan upload_max_filesize. Onu 100M yapın. upload_max_filesize = 100M Sonra apache yeniden başlatıp deneyin. İşlemin başarılı yapıldığını sağlamak için şu kodu yazdığınız sayfayı açarak <?php phpinfo(); ?> upload için yapılan değişikliğin olduğunu görebilirsiniz. Sonra iş upload testinde. |
dediklerinizi uyguladım ama yine olmadı. Neyse sorun değil zaten bana 8mb sınırı da yetiyor. Ama en azından 8mb tan büyük yüklendiğinde hata verdirtebilseydim o da olmadı . Neyse teşekkürler sayenizde büyük bi ilerleme kaydettim. GÜNCELLEME : tmm oldu anladım peki şuanda sınır 100mb'mı oldu ? |
if($_FILES['dosya']['size'] < 20000000 ){} bişey sorabilirmiyim burada dosya boyutu sınırını 8mb olarak nasıl yazacam yani 8 mb'ı nasıl yazabilirim. 8000... gibi ? Şu koyu yeri 8mb olarak nasıl belirtebilirim? |
Olmadı, ama olmayacak diye bir şey yok. :) Tabi uzaktan sorunun ne olduğunu tahmin etmek zor oluyor. Yine php_info sayfasında 8M yazıp arayınca bulduğu bir şeyler varsa onların ne olduğunu inceleyebiliriz. Upload sınırı için de; $_FILES['dosya']['size']<8388608 8MB için böyle düzenlerse olur. Ayrıca yüklemeye başlamadan javascript ile kontrol de mümkünmüş. Örnek HTML kodu: <form enctype="multipart/form-data" method="post" action=""> <input type="file" id="fileinput" /> </form> Örnek javascript kodu: document.getElementById('fileinput').addEventListener('change', function(){ var file = this.files[0]; console.log("Dosya ismi : " + file.name); console.log("Dosya boyutu : " + file.size); console.log("Dosya türü : " + file.type); console.log("Zaman damgası : " + file.lastModified); if (8192000 < file.size){ alert('Dosya boyutu 8MB'tan büyük!); return false; } }, false); Test edildi, çalışıyor. |
Tmmdır anladım buarada önceki mesajda güncelleme olarak belirtmiştim farketmesseniz diye yine yazayım oldu bi hata yapmıştım. Dediğiniz javascript kodununda işime yarayacağını hissediyorum , deneyeceğim. Son bir soru sormak istiyorum 8192000 yani 8mb'ı nasıl hesapladınız çünkü daha sonradan değiştirmek istersem kendim hesaplayabileyim diye soruyorum. |
Ben de yanlış hesaplamışım sanırım. :D 8388608 olacakmış. 2 üzeri x şeklinde 2'lik sisteme göre artış oluyor. Bu nedenle 2 üzeri 10 = 1024 oluyor. Yani sistem 1024'ün katları şeklinde de büyüyor. 1 karakter = 1 byte 1024 byte = 1 kbyte = 1kB 1024 kB = 1 MB 1024 MB = 1 GB 1024 GB = 1 TB 8MB kaç byte? Bizim kontrolümüz byte a göre çünkü? 8 x 1,024 x 1,024 = 8388608 İki kere 1024 ile değil, 1,024 ile çarptık. Neden iki kere? Çünkü MB'tan byte geçerken iki kere 1024 kullandık. |
matematiğim yetmedi, heralde ama anladığım tek şey şu : kaç mb istiyorsak örneğin ben Y mb istiyorum bunu şu şekilde belirtmeliyim Y * 1,024 * 1,024 diye yazacam değilmi ? |
MB için öyle, ama dikkat edilecek bir nokta var. Ondalık olarak virgül kullanımı, yani 1,024 Türkiye'de alışılmış bir kullanım biçimi. evrensel olarak 1.024 olacak. PHP için: Y * 1.024 * 1.024 GB için olsaydı 3 kere 1.024 olurdu. Direkt çeviri yapmak için siteler de var. http://www.whatsabyte.com/P1/byteconverter.htm |
; Maximum allowed size for uploaded files.
upload_max_filesize = 40M
; Must be greater than or equal to upload_max_filesize
post_max_size = 40M
satırlarında upload için 40MB veya daha yüksek yapabilirsiniz. Sunucu size ait değilse maksimum kaçsa onunla idare edilir.
Küçük dosya olsa da bazen boş dönüyorsa demek ki bir yerlerde durum kontrolü eksik olabilir. Görünür de yok. error_log dosyasında kayıt bulunabilir.
Arttırma işlemleri yapıldığında http yeniden başlatılmalı. Ayrıca upload ile ilgili şu değerleri de arttırmak gerekebilir.
max_execution_time = 120
max_input_time = 100
memory_limit = 200M
< Bu mesaj bu kişi tarafından değiştirildi nihattr -- 8 Şubat 2016; 2:04:33 >
Bu mesajda bahsedilenler: @reto