Tải xuống demo
Tải lên tệp là một trong những tính năng phổ biến nhất mà chúng tôi thường sử dụng trong cuộc sống hàng ngày của chúng tôi, chúng tôi làm & NBSP; tải lên hình ảnh trên Facebook, Twitter và các trang web khác. & NBSP; /lưu trữ tệp đó trong thư mục máy chủ web của bạn.
Hình thức HTML
<form name="form" method="post" action="upload.php" enctype="multipart/form-data" > <input type="file" name="my_file" /><br /><br /> <input type="submit" name="submit" value="Upload"/> </form>Chúng tôi sẽ cần một biểu mẫu với một trường đầu vào với loại tệp. Thẻ hành động của biểu mẫu phải trỏ đến URL của tệp tập lệnh PHP thực sự thực hiện tác vụ tải lên. Điều này cũng quan trọng đối với & nbsp; add & nbsp; acstype = Multipart/form-data & nbsp; thuộc tính trong biểu mẫu của bạn để tải lên tệp nếu không tệp của bạn sẽ không được tải lên.enctype=”multipart/form-data” property in your form to upload file otherwise your file will not be uploaded.
Kịch bản PHP
if (($_FILES['my_file']['name']!="")){ // Where the file is going to be stored $target_dir = "upload/"; $file = $_FILES['my_file']['name']; $path = pathinfo($file); $filename = $path['filename']; $ext = $path['extension']; $temp_name = $_FILES['my_file']['tmp_name']; $path_filename_ext = $target_dir.$filename.".".$ext; // Check if file already exists if (file_exists($path_filename_ext)) { echo "Sorry, file already exists."; }else{ move_uploaded_file($temp_name,$path_filename_ext); echo "Congratulations! File Uploaded Successfully."; } }Như bạn có thể thấy ở trên, tôi đã cố gắng sử dụng tên biến làm chức năng của nó để bạn có thể dễ dàng hiểu những gì tôi đang làm, tôi chỉ kiểm tra & nbsp; rằng nếu tệp đã tồn tại, nó sẽ in lỗi nếu không sẽ được tải lên.
Hướng dẫn này chỉ dành cho mục đích học tập cơ bản, nếu bạn muốn thực hiện nó trên trang web của mình để tốt hơn là sử dụng nhiều hơn & NBSP; xác thực trước khi tải lên tệp.
//you can easily get the following information about file: $_FILES['file_name']['name'] $_FILES['file_name']['tmp_name'] $_FILES['file_name']['size'] $_FILES['file_name']['type']Xác thực như loại tệp (tiện ích mở rộng) hoặc & NBSP; Kích thước tệp cũng có thể được kiểm tra ở phía máy khách, tôi cũng đã viết Hướng dẫn kiểm tra kích thước tệp & tiện ích mở rộng trước khi tải lên bằng JQuery.
Nếu bạn tìm thấy hướng dẫn này hữu ích, vì vậy hãy chia sẻ nó với bạn bè, nhóm phát triển của bạn và để lại nhận xét của bạn.
Trang chính thức của Facebook: Tất cả các thủ thuật PHP
Javed Ur Rehman là một blogger và nhà phát triển web đam mê, anh ấy thích chia sẻ các hướng dẫn phát triển web và các mẹo viết blog. Ông thường viết về HTML, CSS, JavaScript, JQuery, Ajax, PHP và MySQL.
Điều này sẽ hoạt động rất tốt - bạn có thể sử dụng HTML5 để chỉ cho phép các tệp hình ảnh được tải lên. Đây là mã cho trình tải lên.htm -
<html> <head> <script> function validateForm(){ var image = document.getElementById("image").value; var name = document.getElementById("name").value; if (image =='') { return false; } if(name =='') { return false; } else { return true; } return false; } </script> </head> <body> <form method="post" action="upload.php" enctype="multipart/form-data"> <input type="text" name="ext" size="30"/> <input type="text" name="name" id="name" size="30"/> <input type="file" accept="image/*" name="image" id="image" /> <input type="submit" value='Save' title="return validateForm()"/> </form> </body> </html>Bây giờ mã để tải lên.php -
<?php $name = $_POST['name']; $ext = $_POST['ext']; if (isset($_FILES['image']['name'])) { $saveto = "$name.$ext"; move_uploaded_file($_FILES['image']['tmp_name'], $saveto); $typeok = TRUE; switch($_FILES['image']['type']) { case "image/gif": $src = imagecreatefromgif($saveto); break; case "image/jpeg": // Both regular and progressive jpegs case "image/pjpeg": $src = imagecreatefromjpeg($saveto); break; case "image/png": $src = imagecreatefrompng($saveto); break; default: $typeok = FALSE; break; } if ($typeok) { list($w, $h) = getimagesize($saveto); $max = 100; $tw = $w; $th = $h; if ($w > $h && $max < $w) { $th = $max / $w * $h; $tw = $max; } elseif ($h > $w && $max < $h) { $tw = $max / $h * $w; $th = $max; } elseif ($max < $w) { $tw = $th = $max; } $tmp = imagecreatetruecolor($tw, $th); imagecopyresampled($tmp, $src, 0, 0, 0, 0, $tw, $th, $w, $h); imageconvolution($tmp, array( // Sharpen image array(−1, −1, −1), array(−1, 16, −1), array(−1, −1, −1) ), 8, 0); imagejpeg($tmp, $saveto); imagedestroy($tmp); imagedestroy($src); } } ?>