Hướng dẫn dùng move_uploaded_file trong PHP

- Hàm move_uploaded_file() dùng để di chuyển tập tin được tải lên vào một nơi được chỉ định.

(sau khi thực thi xong, hàm này sẽ trả về giá trị TRUE nếu thành công, ngược lại sẽ trả về FALSE)

Show

- Cú pháp:

move_uploaded_file(file, path)

- Trong đó:

Tham sốYêu cầuMô tả
file Bắt buộc

- Tập tin được tải lên

path Bắt buộc

- Chỉ định nơi lưu tập tin được tải lên.

- Tôi có một cây thư mục như sau:

  • myCode.php
  • file

- Đoạn mã phía dưới là nội dung của tập tin myCode.php

<!DOCTYPE html>
<html>
<body>
    <form action="myCode.php" method="POST" enctype="multipart/form-data">
        <input type="file" name="myFile">
        <input type="submit" name="upload">
    </form>
    <?php
        if(isset($_POST['upload'])){
            $file = $_FILES['myFile']['tmp_name'];
            $path = "file/".$_FILES['myFile']['name'];
            if(move_uploaded_file($file, $path)){
                echo "Tải tập tin thành công";
            }else{
                echo "Tải tập tin thất bại";
            }
        }
    ?>
</body>
</html>

- Cứ mỗi khi tải tập tin lên thì nó sẽ được di chuyển vào bên trong thư mục file

Nếu nơi lưu tập tin được tải lên đã tồn tại một tập tin có cùng tên thì tập tin đó sẽ bị ghi đè.

Hàm move_uploaded_file() sẽ kiểm tra để đảm bảo rằng file truyền vào là một file upload hợp lệ( nghĩa là file đã được upload bởi phương thức PHP's HTTP POST). Nếu file hợp lệ nó sẽ được di chuyển đến thư mục đã truyền vào.

Hướng dẫn dùng move_uploaded_file trong PHP

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Cú pháp

Cú phápmove_uploaded_file( $filename, $destination);

Trong đó:

  • $filename là tên file upload.
  • $destination là thư mục mà file sẽ được chuyển đến.

Kết quả trả về

Hàm sẽ trả về True nếu thành công

Bài viết này được đăng tại [free tuts .net]

Nếu $filename không hợp lệ hoặc vì lí do nào đó mà nó không thể di chuyển, hàm sẽ trả về False.

Ví dụ

Ví dụ về hàm move_uploaded_file() trên trang chủ php.net:

Code

$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        // basename() may prevent filesystem traversal attacks;
        // further validation/sanitation of the filename may be appropriate
        $name = basename($_FILES["pictures"]["name"][$key]);
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
    }
}

Tham khảo: php.net

Khi thực hiện upload hình ảnh trong PHP bạn sẽ được làm quen với hàm move_uploaded_file. Đây là một hàm quan trọng không thể thiếu. Hãy cùng tìm hiểu về move_uploaded_file trong PHP qua bài viết này.

Cú pháp:

move_uploaded_file($file_tmp, $destination);

Giải thích:

  • $file_tmp: File tạm được tải lên
  • $destination: thư mục file sẽ được chuyển đến

Bước 1: Trước tiên bạn sẽ cần chuẩn bị một tập tin tên là upload.php:

<!DOCTYPE html>
<html>
<head>
<title>Upload file trong PHP/title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div id="content">
<form method="POST" action="upload.php" enctype="multipart/form-data">
<input type="file" name="file">
<button type="submit" name="upload">POST</button>
<?php require "xuly.php"?>
</form>
</div>
</body>
</html>

Trong đó:

  • enctype='multipart/form-data là đây là một loại mã hóa mà các tập tin và dữ liệu được gửi qua POST.

Bước 2: Tiếp theo bạn sẽ tạo ra một file là xuly.php

<?php
// Kiểm tra
if(isset($_FILES['file'])){
$errors= array();
$file_name = $_FILES['file']['name'];
$file_size =$_FILES['file']['size'];
$file_tmp =$_FILES['file']['tmp_name'];
$file_type=$_FILES['file']['type'];

if($file_size > 2097152){
$errors[]='Tập tin cho phép 2 MB';
}
// Up file vào thư mục
if(empty($errors)==true){
move_uploaded_file($file_tmp,"photo/".$file_name);
echo "<br>";
echo "Success";
}else{
print_r($errors);
}
}
?>

Giải thích:

  • Đầu tiêu trong file xuly.php sẽ dùng hàm isset để kiểm tra người dùng đã nhập dữ liệu vào chưa
  • Nếu các điều kiện kiểm tra đúng sẽ dùng move_uploaded_file đưa dữ liệu vào thư mục là photo. Phía sau $file_name chính là tên của tập tin đó.

Bước 3: Tạo một thư mục photo nằm trong htdocs ngang hàng với 2 tập tin trên

Kết quả sau khi tiến hành upload

Hướng dẫn dùng move_uploaded_file trong PHP