1. Trang chủ
  2. » Thể loại khác

Upload File trong PHP | 297 bài hướng dẫn PHP hay nhất php file uploading

5 141 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 316,6 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Upload File trong PHP Một PHP script có thể sử dụng với một HTML form cho phép người dùng upload file lên Server.. Đầu tiên các file này được upload lên một thư mục tạm thời, sau đó được

Trang 1

Upload File trong PHP

Một PHP script có thể sử dụng với một HTML form cho phép người dùng upload file lên Server Đầu tiên các file này được upload lên một thư mục tạm thời, sau đó được di chuyển tới một đích bởi một PHP script

Thông tin trong trang phpinfo.php mô tả thư mục tạm thời mà được sử dụng cho các file được upload ở dạng upload_tmp_dir và kích thước giới hạn của các file có thể được upload được bắt đầu ở dạng upload_max_filesize Các tham số này được thiết lập trong file cấu hình php.ini

Tiến trình upload một file theo các bước sau:

 Người dùng mở trang chứa một HTML form là một text file, một nút browse và một nút submit

 Người dùng nhấn nút browse và chọn một file để upload từ máy local

 Đường dẫn đầy đủ đến file được chọn sẽ xuất hiện trong trường văn bản, sau đó người dùng nhấn nút Submit

 File được chọn được gửi đến thư mục tạm thời trên Server

PHP script, mà được xác định như một Form Handler trong thuộc tính action của form, sẽ

kiểm tra xem file đã đến chưa và sau đó sao chép file này sang thư mục mong muốn

 PHP script xác nhận thành công tới người dùng

Thông thường khi ghi các file, nó là cần thiết cho cả thư mục tạm thời và thư mục đích để có quyền truy cập được thiết lập là cho phép ghi Nếu một trong 2 được thiết lập là read-only, thì tiến trình sẽ thất bại

Một file được upload lên có thể là text file hoặc image file hoặc bất cứ tài liệu nào

Tạo upload form trong PHP

Dưới đây là HTML code tạo một uploader form Form này có thuộc tính method được thiết lập là

post và thuộc tính enctype thiết lập là multipart/form-data

<? php

if ( isset ( $_FILES [ 'image' ])){

Trang 2

$errors = array ();

$file_name = $_FILES [ 'image' ][ 'name' ];

$file_size = $_FILES [ 'image' ][ 'size' ];

$file_tmp = $_FILES [ 'image' ][ 'tmp_name' ];

$file_type = $_FILES [ 'image' ][ 'type' ];

$file_ext = strtolower ( end ( explode ( '.' , $_FILES [ 'image' ][ 'name' ])));

$expensions = array ( "jpeg" , "jpg" , "png" );

if ( in_array ( $file_ext , $expensions )=== false ){

$errors []= "extension not allowed, please choose a JPEG or PNG file." ;

}

if ( $file_size > 2097152 ){

$errors []= 'File size must be excately 2 MB' ;

}

if ( empty ( $errors )== true ){

move_uploaded_file ( $file_tmp , "images/" $file_name );

echo "Success" ;

}

else {

print_r ( $errors );

}

}

?>

<html>

<body>

<form action = "" method = "POST" enctype = "multipart/form-data" >

<input type = "file" name = "image" />

<input type = "submit" />

</form>

Trang 3

</body>

</html>

Nó sẽ cho kết quả:

Tạo upload script trong PHP

Có một biến PHP toàn cục là $_FILES Biến này là một mảng mảng liên hợp và giữ tất cả thông tin

liên quan đến file được tải lên Vì vậy, nếu giá trị gán cho thuộc tính name của input trong form

upload là file, khi đó PHP có thể tạo 5 biến sau:

$_FILES['file']['size'] − Kích thước tính theo byte của file đã upload

$_FILES['file']['error'] − Mã hóa lỗi liên quan đến file tải lên này

Ví dụ

Dưới đây là ví dụ cho phép tải các hình ảnh và trả về kết quả ở dạng thông tin file đã được tải lên

<? php

if ( isset ( $_FILES [ 'image' ])){

$errors = array ();

$file_name = $_FILES [ 'image' ][ 'name' ];

$file_size = $_FILES [ 'image' ][ 'size' ];

$file_tmp = $_FILES [ 'image' ][ 'tmp_name' ];

$file_type = $_FILES [ 'image' ][ 'type' ];

$file_ext = strtolower ( end ( explode ( '.' , $_FILES [ 'image' ][ 'name' ])));

$expensions = array ( "jpeg" , "jpg" , "png" );

if ( in_array ( $file_ext , $expensions )=== false ){

$errors []= "extension not allowed, please choose a JPEG or PNG file." ;

Trang 4

}

if ( $file_size > 2097152 ){

$errors []= 'File size must be excately 2 MB' ;

}

if ( empty ( $errors )== true ){

move_uploaded_file ( $file_tmp , "images/" $file_name );

echo "Success" ;

}

else {

print_r ( $errors );

}

}

?>

<html>

<body>

<form action = "" method = "POST" enctype = "multipart/form-data" >

<input type = "file" name = "image" />

<input type = "submit" />

<ul>

<li> Sent file: <? php echo $_FILES [ 'image' ][ 'name' ]; ?>

<li> File size: <? php echo $_FILES [ 'image' ][ 'size' ]; ?>

<li> File type: <? php echo $_FILES [ 'image' ][ 'type' ] ?>

</ul>

</form>

</body>

</html>

Trang 5

Nó sẽ cho kết quả:

 Sent file:

 File size:

 File type:

Ngày đăng: 02/12/2017, 20:49

TỪ KHÓA LIÊN QUAN