En iyi PHP yüklenen bir dosyayı taşıma yöntemi?

2 Cevap

Ben bir kullanıcı bir fotoğraf gönderdiğinde bu aşağıda kullanan bir php komut dosyası var:

if (is_uploaded_file($HTTP_POST_FILES['picture1']['tmp_name'])) {
   move_uploaded_file($HTTP_POST_FILES['picture1']['tmp_name'], $full_file_path);
}

Ben onun yerine bu meraklı kullanıyor olmalıdır am? Eğer öyleyse, herhangi bir faydası var mı?

if (is_uploaded_file($HTTP_POST_FILES['picture1']['tmp_name'])) {
   copy($HTTP_POST_FILES['picture1']['tmp_name'], $full_file_path);
}

Ayrıca komut dosyası ['tmp_name'] otomatik olarak silinir ['Picture1'] @ $ HTTP_POST_FILES bulunur biter? Zaman

2 Cevap

Her şeyden önce, siz $_FILES yerine $HTTP_POST_FILES kullanımı gerekir. İkincisi onaylanmaz ve PHP 6 olarak PHP platformu silinecektir.

Bu copy() göre fazladan security kontroller yapar İkinci olarak, move_uploaded_file() kullanın. Ben bunun tam olarak ne bilmiyorum ama that's what the manual says yok.

Bu dosya önemli bir geçerli upladed dosyası olduğundan emin olmak için denetler gibi move_uploaded_file faydaları vardır:

Yüklenen dosyalar ile yapılan bir şey kullanıcıya kendi içeriğini ortaya, hatta aynı sistemdeki diğer kullanıcılara olma ihtimali varsa çek Bu tür özellikle önemlidir. - PHP Belgelendirme

Ayrıca, yerine veri kopyalama, sadece bunu hareket ediyor. Bu, daha az genel veri yaratılıyor demektir.

Script taşımak sürece PHP erişemez, yani bittikten sonra 2nd Question: Evet, dosya silinir.