6/1/17

Upload file trong PHP

Trong bài này mình xin giới thiệu đến các bạn cách Upload file trong PHP. Dể upload file trong php bạn cần cấu hình php.ini và tạo form upload file bằng php

Cấu hình php.ini cho Upload file trong PHP

Để upload file trong php các bạn cần cấu hình sever của mình. Các bạn vào file php.ini trong sever để cấu hình:

file_uploads = On

Tạo form upload bằng html

Để upload bạn cần tạo ra một form upload bắng html với nội dung nhu sau:
<!DOCTYPE html>
<html>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
 Upload image:
 <input type="file" name="fileToUpload" id="fileToUpload">
 <input type="submit" value="Upload Image" name="submit">
</form>
</body>
</html>
Tạo Upload file bằng mã PHP

để upload được file lên sever ta code mã php với nội dung như sau (tạo file upload.php)

<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
//Kiểm tra nếu file ảnh đã được submit chưa
if(isset($_POST["submit"])) {
 $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
 if($check !== false) {
 echo "File là một hình ảnh - " . $check["mime"] . ".";
 $uploadOk = 1;
 } else {
 echo "Tập tin không phải là một hình ảnh.";
 $uploadOk = 0;
 }
}
?>

Giải thích:

$target_dir = “uploads /” – xác định thư mục chứa tập tin là sẽ được upload vào
$target_file xác định đường dẫn của tập tin được tải lên
$uploadOk = 1 chưa sử dụng (sẽ được sử dụng sau này)
$imageFileType giữ tập tin mở rộng của tập tin
Tiếp theo, kiểm tra xem các tập tin hình ảnh là một hình ảnh thực tế hoặc một hình ảnh giả
Kiểm tra nếu tập tin đã tồn tại

// Kiểm tra nếu tập tin đã tồn tại
if (file_exists($target_file)) {
echo "Xin lỗi, file đã tồn tại.";
$uploadOk = 0;
}

Kiểm tra kích cỡ file upload lên

// Kiểm tra kích thước tập tin
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "Xin lỗi, file của bạn là quá lớn.";
$uploadOk = 0;
}

Kiểm tra loại file là jpg, png..

// Cho phép các định dạng tập tin nhất định
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "Rất tiếc, chỉ JPG, JPEG, PNG và GIF các tập tin được phép.";
$uploadOk = 0;
}

Upload file với PHP hoàn thiện upload.php

<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Kiểm tra nếu file ảnh đã được submit chưa
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File là một hình ảnh - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "Tập tin không phải là một hình ảnh";
$uploadOk = 0;
}
}
// Kiểm tra nếu tập tin đã tồn tại
if (file_exists($target_file)) {
echo "Xin lỗi, file đã tồn tại.";
$uploadOk = 0;
}
// Kiểm tra kích thước tập tin
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "Xin lỗi, file của bạn là quá lớn.";
$uploadOk = 0;
}
// Cho phép các định dạng tập tin nhất định
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "Rất tiếc, chỉ JPG, JPEG, PNG và GIF các tập tin được phép.";
$uploadOk = 0;
}
// Kiểm tra nếu $ uploadOk được thiết lập là 0 bởi một lỗi
if ($uploadOk == 0) {
echo "Xin lỗi, file của bạn không được tải lên.";
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "File ". basename( $_FILES["fileToUpload"]["name"]). " đã được tải lên.";
} else {
echo "Xin lỗi, có lỗi khi tải tập tin của bạn.";
}
}
?>

Trên đây là hướng dẫn Upload file trong PHP của mình gửi đến các bạn.
Bạn đang đọc bài viết Upload file trong PHP tại Website: Học Lập Trình

0 nhận xét: