Aniden durmasına yükle!

3 Cevap php

Ben yükleme dosyası benim sunucuda bir komut dosyası var. Daha önce gayet iyi çalışıyor ama aniden sunucuya dosya yüklemek olamaz. Ben sunucu için php ayar veya da dizinleri izni ile ilgili herhangi bir şey değişmedi, kod değişmedi. Ben Web sunucusu (apache) herhangi bir şey değişmedi. Ben sorunu yalıtmak için küçük bir script oluşturduk ama herhangi bir hata veya uyarı almadım. Komut aşağıdaki gibidir:


<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
ini_set('error_reporting', E_ALL);

$target_path = "/var/www/vhosts/mydomain.com/httpdocs/userfiles3/2010-01-27/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
   echo "The file ".  basename( $_FILES['uploadedfile']['name']). 
    " has been uploaded";
 } else{
   echo "There was an error uploading the file, please try again!";
}

?>

3 Cevap

Ben üzerinde çalışıyordu sunuculardan birinde benzer bir sorunu vardı; Sorun php yüklenen dosyaları depolamak edildi geçici dizini onun tahsis sınırına ulaşmıştı ve bu nedenle orada başka bir şey uygun değil ki, orada oldu.

Eski dosyaların dizinini temizledikten sonra tekrar çalışıyordu.

Çıktınıza göre:

var_dump($_FILES); 
array(1) { 
  ["uploadedfile"]=> array(5) { 
       ["name"]=> string(12) "DSC00562.JPG" 
       ["type"]=> string(0) "" 
       ["tmp_name"]=> string(0) "" 
       ["error"]=> int(2) 
       ["size"]=> int(0) 
  } 
}

The error 2 indicate that the field exceed the max filesize indicated into the html form as you can see http://www.php.net/manual/en/features.file-upload.errors.php

Formdaki benzer bir şey var dosya yüklemek için kullanabileceğiniz olmadığını kontrol etmelisiniz

<input type="hidden" name="MAX_FILE_SIZE" value="_a number_"/>

ve bunu kaldırmak veya daha büyük bir limit belirtebilirsiniz.

Ben aynı sorunu vardı, ama ben istemci tarafı sorunu vardı. Benim Power Point Show (pps) dosyası bozuk idi. Ben LibreOffice ile kaydedilmiş yeniden ve şimdi benim sınıf paylaşan komut çalışır!