(PHP 4 >= 4.0.3, PHP 5, PHP 7)
move_uploaded_file — Karşıya yüklenen bir dosyayı yeni bir yere taşır
$dosyaismi
, string $hedef
)
Bu işlev, dosyaismi ile belirtilen dosyanın karşıya
yüklenen geçerli bir dosya olduğundan emin olduktan sonra (PHP'nin HTTP
POST mekanizması ile karşıya yüklenen bir dosya ise) dosyayı
hedef ile belirtilen adrese taşır.
Bir dosyanın karşıya yüklenmesi ile dosya içeriğinin kullanıcıya veya aynı sistem üzerindeki diğer kullanıcılara ifşa edilmesini sağlayacak şeyleri yapma şansı doğacaksa bu sınamalar oldukça önem kazanır.
dosyaismiKarşıya yüklenen dosyanın ismi.
hedefDosyanın taşınacağı adres.
Eğer dosyaismi karşıya yüklenen geçerli bir dosya
değilse işlem gerçekleşmez ve işlev FALSE ile döner.
Eğer dosyaismi karşıya yüklenen geçerli bir dosya
ise fakat bir sebeple taşınamıyorsa işlem gerçekleşmez ve işlev
FALSE ile dönerken ek olarak bir uyarı çıktılanır.
Örnek 1 - Çok sayıda dosyanın karşıya yüklenmesi
<?php
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
$name = $_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name, "$uploads_dir/$name");
}
}
?>
Bilginize:
move_uploaded_file() işlevi
safe_modeve open_basedir yönergelerinden etkilenir. Bununla birlikte, karşıya yüklenecek dosyalarınhedef'e taşınmasına izin verilmesinden dolayı yapılacak işlem bu sınırlamalarla çelişir. move_uploaded_file() işlevi, karşıya yüklenecek dosyaların sadece PHP üzerinden taşınmasına izin vererek işlemin güvenliğini sağlar.
Hedefte bir dosya varsa üzerine yazılır.