SORU
27 AĞUSTOS 2010, Cuma


Neden PHP $_FİLES dosyaları yüklerken bomboş olurdu?

WampServer 2 benim Windows 7 yüklü bilgisayar var. Apache 2.2.11 PHP 5.2.11 kullanıyorum. Bir formdan herhangi bir dosya yüklemeye çalıştığınızda, yükleme gibi görünüyor, ama PHP, $_FILES dizi boştur. c:\wamp\tmp klasör içinde dosya yok. php.ini yüklenenler dosya izin vermek için ve bu gibi yapılandırılmış. tmp klasör geçerli kullanıcı ayrıcalıkları olan okuma/yazma. Kafam allak bullak oldu.

HTML:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
    <form enctype="multipart/form-data" action="vanilla-upload.php" method="POST">
        Choose a file to upload: <input name="uploadedfile" type="file" /><br />
        <input type="submit" value="Upload File" />
    </form>
</body>
</html>

PHP:

<?php
echo 'file count=', count($_FILES),"\n";
var_dump($_FILES);
echo "\n";
?>

CEVAP
27 AĞUSTOS 2010, Cuma


Çok nadir olsa da, PHP Manual page comment ama :

$_FİLES dizi formunuzu doğru görünüyor olsa bile, aniden gizemli bir şekilde boş giderse, disk alanı geçici klasör bölümü için kullanılabilir kontrol etmelisiniz. Benim yükleme, dosya yükleme uyarı olmadan başarısız oldu. Dişlerin çok gıcırdayan sonra, sonra dosya yüklemeler aniden tekrar çalıştı ek alanı boşaltarak denedim.

Ve burada kontrol listeleri PHP dosya yükleme için:

  1. Php kontrol edin.ını file_uploads = On, post_max_size ve upload_max_filesize. Emin ol doğru php düzenleme.ını – phpinfo() kullanın doğrulamak için ayarlar. Yapmak istemediğine emin yanlış 8 MB olarak direktifleri yerine beklenen 8 MİLYON!
  2. Javascript form dosya giriş alanı devre dışı bırakmak için formda kullanmayın gönderme!
  3. name tha aynı attirbute ile iki giriş dosyası alanları olmadığından emin olun
  4. Yapmak dizinine yazma izinleri okumak için ayarlanmış olduğundan emin tmp ve yükleme dizinleri.
  5. Emin olun dosya hedef ve tmp/upload dizin yok onları boşluk var.
  6. Sayfanızdaki tüm Formları kapatmak etiketleri FORM /olduğundan emin olun.
  7. FORM etiketi enctype="multipart/form-data" öznitelik olduğundan emin olun. Başka bir etiket, FORM etiketi olmalı çalışacaktır. Olduğunu kontrol edindoğru yazılmış. Çok parçalı/-veri oluşturan çift kontrol DÜZ TIRNAKLARI akıllı tırnaklar değil, Kelime VEYA web sitesi bir blog (WordPress dönüştürür düz açı tırnak için tırnak!) yapıştırılan yer almaktadır. Eğer sayfada birden fazla form varsa, ikisi de bu öznitelik olduğundan emin olun. El ile, ya da düz tek el tırnak içinde yazılan dene bunları yazın.
  8. FORM etiketi method="POST" olduğundan emin olun. GET istekleri parçalı/desteklemez form-veri yükler.
  9. Dosya giriş etiket ADI özniteliği vardır emin olun. KİMLİK niteliği yeterli DEĞİLDİR! ID öznitelikleri POST yükleri için DOM kullanmak için değil.
  10. Ayrıca, yüklediğiniz dosya içinde olmayan herhangi bir alfa sayısal karakterler olmadığından emin olun.
  11. Bir kez, sadece bu saat bana neler olduğunu anlamaya çalışırken bir anda geçirdi. Bunu çıktı aldım değiştirilmiş bazı PHP ayarları .htaccess, ve onlardan biri (emin değilim ama) neden yükleme başarısız ve $_FILES için boş.
  12. ""giriş etiketi (alt çizgi) adı özniteliği. _ bir bırakmayın

Nihayetdeneyin çok küçük dosyalar yükleniyor.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Anthony Le

    Anthony Le

    10 EKİM 2006
  • Mark Hyder

    Mark Hyder

    6 EKİM 2011
  • Professor Messer

    Professor Me

    27 NİSAN 2007