(PHP 4 >= 4.0.3, PHP 5)
move_uploaded_file — Karşıya yüklenen bir dosyayı yeni bir yere taşır
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.
Karşıya yüklenen dosyanın ismi.
Dosyanı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_mode
ve open_basedir yönergelerinden etkilenir. Bununla birlikte, karşıya yüklenecek dosyaların hedef'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.