gelethanhnam04
New Member
Khi các bạn lập trình website thì các bạn sẽ thường gặp các website có chức năng upload tập tin nhất là các website về tin tức, giới thiệu sản phẩm, bán hàng... Bài viết này tôi sẽ hướng dẫn các bạn thực hiện một trang upload tập tin đơn giản giúp các bạn có cơ sở tìm hiểu thêm các kiến thức cần thiết để có thể lập trình ra một chức năng upload tập tin chuyên nghiệp hơn.
Các bạn tham khảo cấu trúc thư mục tôi dùng để hướng dẫn các bạn như sau:
Mở tập tin index.php và nhập vào nội dung mã lệnh như sau:
Mở tập tin upload.php và nhập vào nội dung mã lệnh như sau:
Bây giờ các bạn chạy tập tin index.php để vào trang upload, chọn tập tin cần upload và bấm nút "Tải lên" để xem kết quả.
Tôi có viết mã demo để các bạn tham khảo, các bạn có thể tải về tại bài viết Tạo trang upload tập tin với PHP hoặc reply tại bài viết này tôi sẽ giải đáp các thắc mắc của các bạn.
Các bạn tham khảo cấu trúc thư mục tôi dùng để hướng dẫn các bạn như sau:
Code:
data
index.php
upload.php
PHP:
<?php session_start(); ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Upload Tập Tin</title>
</head>
<body>
<form name="upload" method="post" enctype="multipart/form-data" action="./upload.php">
<?php if (isset($_SESSION['success'])): ?>
<p style="color: green;">Tập tin đã được tải lên thành công!</p>
<?php unset($_SESSION['success']); ?>
<?php endif; ?>
<p>
<label>Tập tin:</label>
<input type="file" name="file">
</p>
<p>
<input type="submit" value="Tải lên">
</p>
</form>
</body>
</html>
PHP:
<?php
//Khởi động session
session_start();
//Kiểm tra
if (($filename = $_FILES['file']['name']) != null) {
//Khai báo đường dẫn tập tin tải lên
$path = __DIR__ . '/data/';
//Kiểm tra nếu tập tin đã tồn tại thì đổi tên tập tin
if (is_file($path . $filename)) {
$file_info = pathinfo($path . $filename);
for ($i = 1; $i <= 1000; $i++) {
$new_filename = $file_info['filename'] . '_' . $i . '.' . $file_info['extension'];
if (!is_file($path . $new_filename)) {
break;
}
}
}
//Thực hiện tải lên tập tin
move_uploaded_file(
$_FILES['file']['tmp_name'],
$path . (isset($new_filename) ? $new_filename : $filename)
);
//Tạo session lưu cờ thông báo thành công
$_SESSION['success'] = true;
}
//Quay về lại trang giao diện
header('location: ./');
Tôi có viết mã demo để các bạn tham khảo, các bạn có thể tải về tại bài viết Tạo trang upload tập tin với PHP hoặc reply tại bài viết này tôi sẽ giải đáp các thắc mắc của các bạn.