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.
move_uploaded_file ( string$filename
, string$destination
) : bool
$filename
là tên file upload.$destination
là thư mục mà file sẽ được chuyển đến.$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.<?php $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"); } } ?>
<?php /** * Check $_FILES[][name] * * @param (string) $filename - Uploaded file name. * @author Yousef Ismaeil Cliprz */ function check_file_uploaded_name ($filename) { (bool) ((preg_match("`^[-0-9A-Z_\.]+$`i",$filename)) ? true : false); } ?>+ Thứ ba: đảm bảo rằng tên tệp không lớn hơn 250 ký tự.
<?php /** * Check $_FILES[][name] length. * * @param (string) $filename - Uploaded file name. * @author Yousef Ismaeil Cliprz. */ function check_file_uploaded_length ($filename) { return (bool) ((mb_strlen($filename,"UTF-8") > 225) ? true : false); } ?>+ Thứ tư: Kiểm tra phần mở rộng tệp và loại Mime mà bạn muốn cho phép trong dự án của mình. Bạn có thể sử dụng: pathinfo () http://php.net/pathinfo hoặc bạn có thể sử dụng biểu thức chính quy để kiểm tra Phần mở rộng tệp như trong ví dụ # ^ (gif | jpg | jpeg | jpe | png) $ # i hoặc sử dụng in_array kiểm tra như
<?php $ext_type = array('gif','jpg','jpe','jpeg','png'); ?>+ Thứ năm: Kiểm tra kích thước tệp và đảm bảo giới hạn của php.ini để tải tệp lên là những gì bạn muốn, Bạn có thể bắt đầu từ http://www.php.net/manual/en/ini.core.php#ini.file- tải lên + Và cuối cùng nhưng không kém phần quan trọng: Kiểm tra nội dung tệp nếu có mã xấu hoặc một cái gì đó giống như chức năng này http://php.net/manual/en/feft.file-get-contents.php
Các bạn có thể xem chi tiết hơn trên php.net.
Hi vọng với bài viết này, bạn đã hiểu rõ ứng dụng của hàm move_uploaded_file() trong PHP. Nếu bạn thấy bài viết hay và có ý nghĩa hãy like và chia sẻ bài viết này để mọi người cùng nhau học tập nhé. Cảm ơn các bạn đã ghé thăm codetutam.com
Bình luận: