Dosyaları çalışmıyor yükle, nedir bu kod ile yanlış?

3 Cevap php

Bu yükleme için kullanılan PHP kodu:

$upload = "uploads/";
$upload = $upload . basename($_FILES['bgimage']['name']);

if (move_uploaded_file($_FILES['bgimage']['tmp_name'], $upload)) {

    echo "The file has been uploaded successfully.";

} else { echo "Error"; }

Ben senaryoyu test ettiğinizde, o "Dosya başarıyla yüklendi." Diyor Ben FTP sunucusu kontrol ederken ama, gerçekten değil var ...

Bilmeniz gerekiyorsa, aynı zamanda, burada HTML kodları bulunuyor:

Form etiketi:

<form name="profilestyle" action="account.php?action=profiletheme" method="post" enctype="multipart/form-data">

Giriş tag:

<input type="file" name="bgimage" />

Extra Information: Yes, I remembered the CHMod the uploads directory

3 Cevap

Garip, kod bildiğim kadarıyla gördüğünüz gibi gayet iyi görünüyor.

Eğer file_exists() dosya var, ama belki FTP kullanıcı için görünür olup olmadığını kontrol etmek için kullanabilir miyim?

if (move_uploaded_file($_FILES['bgimage']['tmp_name'], $upload)) {

echo "The file '$upload' has been uploaded successfully.";
if (file_exists($upload)) echo "And it exists! It is ".filesize($upload)." bytes big.";
 else echo "But it doesn't exist.";

} else { echo "Error"; }

Ayrıca kontrol etmek için $_FILES['bgimage']['error'] emin UPLOAD_ERR_OK eşit ve bir hata kodu değil yapmak gerekir.

Aşağıdaki test kodu deneyin

$upload = "uploads/";
$upload = $upload . basename($_FILES['bgimage']['name']);

sprintf('<pre>Debug: moving file from %s to %s</pre>',
  $_FILES['bgimage']['tmp_name'],
  $upload
);
if (move_uploaded_file($_FILES['bgimage']['tmp_name'], $upload)) {
  echo "The file has been uploaded successfully.";
  sprintf('<pre>Debug: realpath=%s, filesize=%d</pre>',
    realpath($upload),
    filesize($upload)
  );
}
else {
  echo "Error";
}

ve esp. realpath bir göz tutmak xyz çıktı =.