Code Upload hình ảnh PHP

Tác giả server360, T.M.Một 27, 2018, 12:43:18 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Code Upload hình ảnh PHP

Mình sẽ giúp các bạn cách tải một tập tin hình lên máy chủ của bạn bằng cách sử dụng PHP HTML Form. Bạn cũng sẽ hiểu được cách kiểm tra xem các tập tin được tải lên có phải là tập tin hình hay không? và còn nhiều điều chờ bạn khám phá.

Bước 1: Tạo 1 thư mục và đặt tên nó là " images " nằm tại đường dẫn cùng với tạp tin PHP mà chúng ta sẽ tạo sau đây. Đảm bảm là thư mục này có đủ quyền đọc ghi để mọi người có thể tải các tập tin lên.

Bước 2: Tạo 1 tập tin PHP và tạm đặt tên là " upload.php " sau đó các bạn sao chép và dán đoạn mã sau vào nó.

Mã nguồn [Chọn]
<?php
// Ấn định  dung lượng file ảnh upload
define ("MAX_SIZE","100");
 
// hàm này đọc phần mở rộng của file. Nó được dùng để kiểm tra nếu
// file này có phải là file hình hay không .
function getExtension($str) {
$i strrpos($str,".");
if (!
$i) { return ""; }
$l strlen($str) - $i;
$ext substr($str,$i+1,$l);
return 
$ext;
}
 
//This variable is used as a flag. The value is initialized with 0 (meaning no
// error  found)
//and it will be changed to 1 if an errro occures.
//If the error occures the file will not be uploaded.
$errors=0;
//checks if the form has been submitted
if(isset($_POST['Submit']))
{
// lấy tên file upload
$image=$_FILES['image']['name'];
// Nếu nó không rỗng
if ($image)
{
// Lấy tên gốc của file
$filename stripslashes($_FILES['image']['name']);
//Lấy phần mở rộng của file
$extension getExtension($filename);
$extension strtolower($extension);
// Nếu nó không phải là file hình thì sẽ thông báo lỗi
if (($extension != "jpg") && ($extension != "jpeg") && ($extension !=
"png") && ($extension != "gif"))
{
// xuất lỗi ra màn hình
echo '<h1>Đây không phải là file hình!</h1>';
$errors=1;
}
else
{
//Lấy dung lượng của file upload
$size=filesize($_FILES['image']['tmp_name']);
if (
$size MAX_SIZE*1024)
{
echo 
'<h1>Vượt quá dung lượng cho phép!</h1>';
$errors=1;
}
 
// đặt tên mới cho file hình up lên
$image_name=time().'.'.$extension;
// gán thêm cho file này đường dẫn
$newname="images/".$image_name;
// kiểm tra xem file hình này đã upload lên trước đó chưa
$copied copy($_FILES['image']['tmp_name'], $newname);
if (!
$copied)
{
echo 
'<h1> File hình này đã tồn tại </h1>';
$errors=1;
}}}}
 
if(isset(
$_POST['Submit']) && !$errors)
{
echo 
"<h1>File hình đã được Upload thành công </h1>";
}
 
?>


Mã nguồn [Chọn]
<!-- nhớ đặt enctype to "multipart/frm-data"
và sử dụng  input type "file" -->
<form name="newad" method="post" enctype="multipart/form-data"
action="">
<table>
<tr><td><input type="file" name="image"></td></tr>
<tr><td><input name="Submit" type="submit" value="Upload image">
</td></tr>
</table>
</form>


Bước 3: Các bạn hãy sửa các thông số trong đoạn mã trên để phù hợp với nhu cầu của các bạn. Sau đó các bạn có thể tải lên máy chủ và sử dụng thử nó.