Kolayca (jQuery + AJAX ile) form gönderme olmadan dosya yüklemek için nasıl

3 Cevap php

Yani ($ _FILES dizi üzerinden) standart metin girişlerini ve aynı zamanda yüklenen dosyaları işler bir çeşit işlem kodu var

Ben gönderme AJAX üzerinden yapılır olmasını istiyorum

Will jQuery sonrası (). yöntem hala üzerinden bu şeyler geçmek -> $ _FILES ya da özel bir şey yapmak gerekiyor?

3 Cevap

JavaScript yerel dosya erişemiyor gibi Ajax (JavaScript kullanarak, tanımlandığı gibi), dosya yükleme yapamazsınız. Böyle bir iframe veya Flash kullanarak olarak Ajax kullanmak gibi geçici çözümler vardır.

Google etrafında Hunt, bir şey bulacaksınız. Birlikte bu koyarak daha kütüphaneler (örneğin YUI) vardır.

Ajax ile dosya yüklemek için, iframe veya Flash kullanarak bir çözüm kullanmanız gerekir.

Sana Uploadify, bu yükleme yapmak için flaş kullanır ve jQuery kullanır öneririz. Ben birçok ayarlara sahip olduğu gerçeği gibi, ve o sıra kullanım için güzel bir varsayılan stil ile birlikte geliyor. Sadece sitenize kurmak için yönergeleri izleyin.

PHP script size sadece bir form aracılığıyla normal bir gönderme olsaydı gibi $ HTTP_POST_FILES aracılığıyla dosyaya erişebilir böylece, varsayılan adı, 'Filedata' olduğu, $ _FILES dizisindeki dosyayı almak ['Filedata'] edeceğiz . Sonra sadece Ajax isteği (JSON veya XML) için yanıt yankı ve Uploadify 'onComplete' olayı için bazı JS kod yürütebilir.

Onların sürükleyip gerektiren ve tarayıcı penceresine dosya düşecek HTML 5 dosya yükleme API kullanarak deneyebilirsiniz. Devamı burada: http://www.appelsiini.net/2009/10/html5-drag-and-drop-multiple-file-upload

Ayrıca, (bir IE için yükleme gerektirir ama Chrome'da varsayılan) Google Gears ile aynı şeyi yapabilirsiniz.

Ya varlığını tespit etmek ve olağan indirgeme mümkündür.