1. Trang chủ
  2. » Công Nghệ Thông Tin

bài 6 tải file và hình ảnh lên website

38 536 0
Tài liệu đã được kiểm tra trùng lặp

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài 6 Tải File Và Hình Ảnh Lên Website
Trường học University of Example
Chuyên ngành Web Development
Thể loại Bài giảng
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 38
Dung lượng 690,58 KB

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

Nội dung

Làm việc với file và thư mụcUpload và download file Tạo ảnh mới, thay đổi kích cỡ ảnh, làm việc vớitransparency Mục tiêu... Liệt kê danh sách fileĐọc và ghi file Đọc và ghi dữ liệu CSV S

Trang 1

Bài 6

Tải file và hình ảnh lên website

Trang 2

Làm việc với file và thư mục

Upload và download file

Tạo ảnh mới, thay đổi kích cỡ ảnh, làm việc vớitransparency

Mục tiêu

Trang 3

Liệt kê danh sách file

Đọc và ghi file

Đọc và ghi dữ liệu CSV

Sao chép, đổi tên, xóa một file

Làm việc với file và thư mục

Trang 4

Ba hàm kiểm tra một file/folder đã tồn tại chưa:

Hàm lấy về folder hiện tại:

Hằng chứa ký tự phân cách đường dẫn:

Hàm liệt kê danh sách folder:

Làm việc với thư mục (folder)

is_file( $path ) is_dir( $path )

file_exists ( $path )

getcwd()

DIRECTORY_SEPARATOR

Trang 5

Hiển thị danh sách folder:

Ví dụ

$path = getcwd();

$items = scandir( $path );

echo "<p>Content of path: </p>" ;

echo "<ul>" ;

foreach ( $items as $item ) {

echo '<li>' $item

'</li>' ;

}

echo '</ul>' ;

Trang 6

Hiển thị các file từ danh sách folder:

Trang 8

Đọc nội dung từ file txt:

Ghi nội dung vào file txt:

Đọc và ghi file txt

$text = file_get_contents('message.txt');

$text = htmlspeacialchars( $text );

echo '<div>' $text '</div>' ;

$text = "This is line 1 \nThis is line 2 \n";

file_put_contents('message.txt', $text );

Trang 9

Đọc file và hiển thị dưới dạng danh sách:

Ghi mảng vào file:

Đọc và ghi các mảng

$name = file('usernames.txt');

foreach ( $names as $name ) {

echo '<div>' $name '</div>' ;

}

$name = array ( 'joelmurach' , 'rayharris' , 'mikemurach' );

$name = implode ( "\n" , $names );

file_put_contents('usernames.txt', $names );

Trang 10

Các chế độ mở file của hàm fopen

rb

wb

ab

xb

Trang 12

Đọc từ một file:

Ví dụ

$file = fopen ( 'usernames.txt' , 'rb' );

$name = '';

while (! feof ( $file )) {

$name = fgets( $file );

if ( $name == false ) { continue ; }

$name = trim( $name );

if ( strlen ( $name ) == 0 || subtr ( $name , 0 , 1 ) ==

Trang 13

Ghi vào một file:

Ví dụ

$path = getcwd();

$items = scandir( $path );

$file = fopen ( 'listing.txt' , 'wb' );

foreach ( $items as $item ) {

$item_path = $path DIRECTORY_SEPARATOR $item ;

if ( is_dir ( $item_path )) {

fwrite ( $file , $item "\n" );

} }

fclose( $file );

Trang 14

Hàm đọc/ghi file CSV:

fgetcsv($file)

fputcsv($file, $array)

Ví dụ một file CSV đơn giản:

Hàm thao tác với file CSV

Trang 15

Ghi dữ liệu vào file CSV:

Đọc dữ liệu từ file CSV:

Ví dụ

$products = array ( array ( 'MMS-1234' , 'Trumpet' , 199.95 ),

array ( 'MMS-8521' , 'Flute' , 149.95 ));

$file = fopen ( 'products.csv' , 'wb' );

foreach ( $products as $product ) {

fputcsv ( $file , $product );

Trang 16

Hàm copy file:

copy($oldname, $newname)Hàm đổi tên file:

rename($oldname, $newname)Hàm xóa một file:

unlink($name)

Hàm copy, đổi tên, xóa file

Trang 19

Form HTML để upload file

Mã PHP làm việc với file upload

Upload file

Trang 20

Để upload file thì form HTML cần có thành phầntối thiểu như sau:

Kết quả hiển thị:

Form HTML để upload file

<form action="upload.php" method="post"

enctype="multipart/form-data">

<input type="file" name="file1"/> <br/>

<input type="submit" value="Upload"/>

</form>

Trang 21

UPLOAD_ERR_OK: không xảy ra lỗi

UPLOAD_ERR_INI_SIZE: kích thước file vượt quy định

Làm việc với file upload

Trang 22

Hàm lưu file đã upload:

move_uploaded_file($tmp, $new)

Ví dụ:

Làm việc với file upload

$tmp_name = $_FILES ['file1']['tmp_name'];

$path = getcwd() DIRECTORY_SEPARATOR 'images' ;

$name = $path DIRECTORY_SEPARATOR

$_FILES [ 'file1' ][ 'name' ];

$success = move_uploaded_file( $tmp_name , $name );

if ( $success ) {

$upload_message = $name ' has been uploaded';

}

Trang 23

Lấy thông tin về một ảnh

Đọc và ghi ảnh

Thay đổi kích cỡ ảnh

Làm việc với độ trong suốt của ảnh

Làm việc với file ảnh

Trang 24

Hàm lấy thông tin về một file ảnh:

Trang 25

Lấy thông tin về một file ảnh:

Ví dụ

//Thiết lập đường dẫn tới file ảnh

$image_path = getcwd() DIRECTORY_SEPARATOR

'gibson_sg.png' ;

//Lấy thông số chiều dài, chiều rộng và loại ảnh

$image_info = getimagesize( $image_path );

$image_width = $image_info [ 0 ];

$image_height = $image_info [ 1 ];

$image_type = $image_info [ 2 ];

Trang 28

Đọc và ghi file ảnh:

Ví dụ

//Thiết lập đường dẫn cho ảnh

$image_path = getcwd() DIRECTORY_SEPARATOR

'gibson_sg.png' ;

$image_path_2 = getcwd() DIRECTORY_SEPARATOR

'gibson_sg_2.png' ;

//Lấy thông số chiều rộng, chiều dài và loại ảnh

$image_info = getimagesize( $image_path );

$image_type = $image_info [ 2 ];

Trang 30

Ví dụ

//Tạo ảnh mới từ một file có sẵn

$image = $image_from_file ( $image_path );

//Kiểm tra chiều dài và chiều rộng bức ảnh

$image_width = imagesx ( $image );

$image_height = imagesy ( $image );

//Ghi ảnh vào một file

$image_to_file ( $image , $image_path_2 );

//Giải phóng bộ nhớ mà bức ảnh chiếm

imagedestroy ( $image );

Trang 31

imagecreatetruecolor($w, $h)

imagecopyresampled($di, $si, $dx, $dy, $sx, $sy,

$dw, $dh, $sw, $sh)

Hàm thay đổi kích cỡ ảnh

Trang 32

Thay đổi kích cỡ ảnh thành tối đa là 100x100

//Lấy ảnh cũ và các thông số dài rộng của nó

$old_image = imagecreatefrompng ( $old_path );

$old_width = imagesx ( $old_image );

$old_height = imagesy ( $old_image );

Trang 33

Ví dụ

//Nếu ảnh lớn hơn tỷ lệ định sẵn thì tạo ảnh mới

if ( $width_ratio > 1 || $height_ratio > 1 ) {

//Tính chiều dài và chiều rộng cho ảnh mới

$ratio = max( $width_ratio , $height_ratio );

$new_height = round( $old_height / $ratio );

$new_width = round( $old_width / $ratio );

Trang 34

Ví dụ

//Ghi ảnh mới vào file

imagepng ( $new_image , $new_path );

//Giải phóng bộ nhớ dùng cho ảnh mới

imagedestroy ( $new_image );

}

//Giải phóng bộ nhớ dùng cho ảnh cũ

imagedestroy ( $old_image );

Trang 36

Ví dụ

//Tính chiều dài và chiều rộng của ảnh mới và thiết lập loại ảnh

$new_image = imagecreatetruecolor ( $new_width , $new_height );

//Thiết lập độ trong suốt tùy thuộc vào loại ảnh

imagealphablending ( $new_image , false );

imagesavealpha ( $new_image , true );

Trang 37

Giao diện người dùng:

Kết quả

Trang 38

PHP cung cấp nhiều hàm làm việc với file, bao

gồm cả các file định dạng CSV

Thư viện GD là một thư viện của PHP chuyên xử

lý ảnh, nó gồm các hàm xử lý ảnh có kiểu địnhdạng JPEG, GIF và PNG

Độ trong suốt là thông số thể hiện tỉ lệ trong

suốt của một bức ảnh Thông tin này được lưu

trong kênh alpha (alpha channel) của ảnh Khi

đó, trình duyệt có thể kết hợp các phần trong

Tổng kết bài học

Ngày đăng: 23/05/2014, 17:29

TỪ KHÓA LIÊN QUAN

w