SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
Bài 6
Tải file và hình ảnh lên website
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ới
transparency
Mục tiêu
Bài 6 - Tải file và hình ảnh lên website 2
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
Bài 6 - Tải file và hình ảnh lên website 3
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)
Bài 6 - Tải file và hình ảnh lên website 4
is_file($path)
is_dir($path)
file_exists($path)
getcwd()
DIRECTORY_SEPARATOR
scandir($path)
Hiển thị danh sách folder:
Ví dụ
Bài 6 - Tải file và hình ảnh lên website 5
$path = getcwd();
$items = scandir($path);
echo "<p>Content of path: </p>";
echo "<ul>";
foreach ($items as $item) {
echo '<li>' . $item .
'</li>';
}
echo '</ul>';
Hiển thị các file từ danh sách folder:
Ví dụ
Bài 6 - Tải file và hình ảnh lên website 6
$path = getcwd();
$items = scandir($path);
$files = array();
foreach ($items as $item) {
$item_path = $part .
DIRECTORY_SEPARATOR . $item;
if (is_file($item_path)) {
$file[] = $item;
}
}
echo "<p>Files in $path </p>";
echo '<ul>';
foreach ($files as $file) {
echo '<li>' . $file . '</li>';
}
echo '</ul>';
Ba hàm đọc file:
File($name)
File_get_contents($name)
Readfile($name)
Hàm ghi file:
File_put_contents($name, $data)
Làm việc với file
Bài 6 - Tải file và hình ảnh lên website 7
Đọc nội dung từ file txt:
Ghi nội dung vào file txt:
Đọc và ghi file txt
Bài 6 - Tải file và hình ảnh lên website 8
$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);
Đọ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
Bài 6 - Tải file và hình ảnh lên website 9
$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);
Các chế độ mở file của hàm fopen
Bài 6 - Tải file và hình ảnh lên website 10
rb
wb
ab
xb
Hàm mở/đóng file:
fopen($path, $mode)
feof($file)
fclose($file)
Hàm đọc/ghi file:
fread($file, $length)
fgets($file)
fwrite($file, $data)
Các hàm thao tác với file
Bài 6 - Tải file và hình ảnh lên website 11
Đọc từ một file:
Ví dụ
Bài 6 - Tải file và hình ảnh lên website 12
$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) ==
'#') {continue; }
$names .= "<div>" . $name . "</div>n";
}
fclose($file);
echo $names;
Ghi vào một file:
Ví dụ
Bài 6 - Tải file và hình ảnh lên website 13
$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);
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
Bài 6 - Tải file và hình ảnh lên website 14
Ghi dữ liệu vào file CSV:
Đọc dữ liệu từ file CSV:
Ví dụ
Bài 6 - Tải file và hình ảnh lên website 15
$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);
}
fclose($file);
$file = fopen('products.csv', 'rb');
$products = array();
while (!feof($file)) {
$product = fgetcsv($file);
if ($product == false) continue;
$products[] = $product;
echo "<div>$product[0] | $product[1] | $product[2]</div>";
}
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
Bài 6 - Tải file và hình ảnh lên website 16
Copy một file:
Đổi tên một file:
Ví dụ
Bài 6 - Tải file và hình ảnh lên website 17
$name1 = 'message.txt';
$name2 = 'message_2.txt';
if (file_exists($name1)) {
$success = copy($name1, $name2);
if ($success) {
echo '<div>File was copied.</div>';
}
}
$name2 = 'message_2.txt';
$name3 = 'message_copy.txt';
if (file_exists($name2)) {
$success = rename($name2, $name3);
if ($success) {
echo '<div>File was renamed.</div>';
}
}
Xóa một file:
Ví dụ
Bài 6 - Tải file và hình ảnh lên website 18
$name3 = 'message_copy.txt';
if (file_exists($name3)) {
$success = unlink($name3);
if ($success) {
echo '<div>File was deleted.</div>';
}
}
Form HTML để upload file
Mã PHP làm việc với file upload
Upload file
Bài 6 - Tải file và hình ảnh lên website 19
Để upload file thì form HTML cần có thành phần
tối thiểu như sau:
Kết quả hiển thị:
Form HTML để upload file
Bài 6 - Tải file và hình ảnh lên website 20
<form action="upload.php" method="post"
enctype="multipart/form-data">
<input type="file" name="file1"/> <br/>
<input type="submit" value="Upload"/>
</form>
Các thành phần của mảng $_FILES:
Name
Size
Tmp_name
Type
Error
Các mã lỗi thường gặp:
UPLOAD_ERR_OK: không xảy ra lỗi
UPLOAD_ERR_INI_SIZE: kích thước file vượt quy định
UPLOAD_ERR_PARTIAL
Làm việc với file upload
Bài 6 - Tải file và hình ảnh lên website 21
Hàm lưu file đã upload:
move_uploaded_file($tmp, $new)
Ví dụ:
Làm việc với file upload
Bài 6 - Tải file và hình ảnh lên website 22
$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';
}
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
Bài 6 - Tải file và hình ảnh lên website 23
Hàm lấy thông tin về một file ảnh:
getimagesize($path)
Các hằng IMAGETYPE thông dụng:
IMAGETYPE_JPEG
IMAGETYPE_GIF
IMAGETYPE_PNG
Lấy thông tin về ảnh
Bài 6 - Tải file và hình ảnh lên website 24
Lấy thông tin về một file ảnh:
Ví dụ
Bài 6 - Tải file và hình ảnh lên website 25
//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];
Ví dụ
Bài 6 - Tải file và hình ảnh lên website 26
//Hiển thị loại ảnh
switch($image_type) {
case IMAGETYPE_JPEG:
echo 'This is a JPEG image.<br/>';
break;
case IMAGETYPE_GIF:
echo 'This is a GIF image.<br/>';
break;
case IMAGETYPE_PNG:
echo 'This is a PNG image.<br/>';
break;
default:
echo 'File must be a JPEG, GIF or PNG
image.<br/>';
exit;
}
imagecreatefromxxx($path)
imagesx($image)
imagesy($image)
imagexxx($image, $path)
imagedestroy($image)
Các hàm thao tác với file ảnh
Bài 6 - Tải file và hình ảnh lên website 27
Đọc và ghi file ảnh:
Ví dụ
Bài 6 - Tải file và hình ảnh lên website 28
//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];
Ví dụ
Bài 6 - Tải file và hình ảnh lên website 29
//Thiết lập tên hàm ứng với mỗi loại ảnh
switch($image_type) {
case IMAGETYPE_JPEG:
$image_from_file = 'imagecreatefromjpeg';
$image_to_file = 'imagejpeg';
break;
case IMAGETYPE_GIF:
$image_from_file = 'imagecreatefromgif';
$image_to_file = 'imagegif';
break;
case IMAGETYPE_PNG:
$image_from_file = 'imagecreatefrompng';
$image_to_file = 'imagepng';
break;
default:
echo 'File must be a JPEG, GIF or PNG image';
exit;
}
Ví dụ
Bài 6 - Tải file và hình ảnh lên website 30
//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);
imagecreatetruecolor($w, $h)
imagecopyresampled($di, $si, $dx, $dy, $sx, $sy,
$dw, $dh, $sw, $sh)
Hàm thay đổi kích cỡ ảnh
Bài 6 - Tải file và hình ảnh lên website 31
Thay đổi kích cỡ ảnh thành tối đa là 100x100
pixels:
Ví dụ
Bài 6 - Tải file và hình ảnh lên website 32
//Thiết lập các biến
$old_path = getcwd() . DIRECTORY_SEPARATOR .
'gibson_sg.png';
$new_path = getcwd() . DIRECTORY_SEPARATOR .
'gibson_sg_100.png';
$image_type = IMAGETYPE_PNG;
//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);
//Tính toán tỷ lệ ảnh sao cho kích cỡ tối đa là 100x100
$width_ratio = $old_width / 100;
$height_ratio = $old_height / 100;
Ví dụ
Bài 6 - Tải file và hình ảnh lên website 33
//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);
//Tạo ảnh mới
$new_image = imagecreatetruecolor($new_width,
$new_height);
//Copy ảnh cũ thành ảnh mới để thay đổi kích thước
$new_x = 0;
$new_y = 0;
$old_x = 0;
$old_y = 0;
imagecopyresampled($new_image, $old_image, $new_x,
$new_y, $old_x, $old_y,$new_width, $new_height,
$old_width, $old_height);
Ví dụ
Bài 6 - Tải file và hình ảnh lên website 34
//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);
imagecolorallocatealpha($i, $r, $g, $b, $a)
imagecolortransparent($i, $a)
imagealphablending($i, $f)
imagesavealpha($i, $f)
Hàm làm việc với
độ trong suốt của ảnh
Bài 6 - Tải file và hình ảnh lên website 35
Ví dụ
Bài 6 - Tải file và hình ảnh lên website 36
//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
if ($image_type == IMAGETYPE_GIF) {
$alpha = imagecolorallocatealpha($new_image, 0, 0, 0,
127);
imagecolortransparent($new_image, $alpha);
}
if ($image_type == IMAGETYPE_PNG || $image_type ==
IMAGETYPE_GIF) {
imagealphablending($new_image, false);
imagesavealpha($new_image, true);
}
Giao diện người dùng:
Kết quả
Bài 6 - Tải file và hình ảnh lên website 37
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 định
dạ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
suốt của ảnh với hình nền để tạo ra hiệu ứng
trong suốt. Quá trình này gọi là quá trình trộn
alpha (alpha blending).
Tổng kết bài học
Bài 6 - Tải file và hình ảnh lên website 38

Weitere ähnliche Inhalte

Was ist angesagt?

Hỏi tình hình bk tiny bktiny-hdsd
Hỏi tình hình bk tiny   bktiny-hdsdHỏi tình hình bk tiny   bktiny-hdsd
Hỏi tình hình bk tiny bktiny-hdsdVu Hung Nguyen
 
Wp hoi-thao-phan-quyen
Wp hoi-thao-phan-quyenWp hoi-thao-phan-quyen
Wp hoi-thao-phan-quyenKhanhPham
 
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2KhanhPham
 
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)KhanhPham
 
php_nangcao [compatibility mode]
php_nangcao [compatibility mode]php_nangcao [compatibility mode]
php_nangcao [compatibility mode]vokhuyet187
 
tài liệu Mã nguồn mở Lap trình shells
tài liệu Mã nguồn mở  Lap trình shellstài liệu Mã nguồn mở  Lap trình shells
tài liệu Mã nguồn mở Lap trình shellsThuyet Nguyen
 
Web course php & csdl
Web course   php & csdlWeb course   php & csdl
Web course php & csdl慂 志慂
 

Was ist angesagt? (10)

Hỏi tình hình bk tiny bktiny-hdsd
Hỏi tình hình bk tiny   bktiny-hdsdHỏi tình hình bk tiny   bktiny-hdsd
Hỏi tình hình bk tiny bktiny-hdsd
 
Hdubuntu
HdubuntuHdubuntu
Hdubuntu
 
Wp hoi-thao-phan-quyen
Wp hoi-thao-phan-quyenWp hoi-thao-phan-quyen
Wp hoi-thao-phan-quyen
 
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2
 
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
 
php_nangcao [compatibility mode]
php_nangcao [compatibility mode]php_nangcao [compatibility mode]
php_nangcao [compatibility mode]
 
tài liệu Mã nguồn mở Lap trình shells
tài liệu Mã nguồn mở  Lap trình shellstài liệu Mã nguồn mở  Lap trình shells
tài liệu Mã nguồn mở Lap trình shells
 
Thuc hanh 13
Thuc hanh  13Thuc hanh  13
Thuc hanh 13
 
Web course php & csdl
Web course   php & csdlWeb course   php & csdl
Web course php & csdl
 
Php nang cao
Php nang caoPhp nang cao
Php nang cao
 

Andere mochten auch

Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoMasterCode.vn
 
Bài 5 Chức năng gửi email cho website - Xây dựng ứng dụng web
Bài 5 Chức năng gửi email cho website - Xây dựng ứng dụng webBài 5 Chức năng gửi email cho website - Xây dựng ứng dụng web
Bài 5 Chức năng gửi email cho website - Xây dựng ứng dụng webMasterCode.vn
 
Bài 2 Cơ chế làm việc của CSS - Giáo trình FPT
Bài 2 Cơ chế làm việc của CSS - Giáo trình FPTBài 2 Cơ chế làm việc của CSS - Giáo trình FPT
Bài 2 Cơ chế làm việc của CSS - Giáo trình FPTMasterCode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnMasterCode.vn
 
1 bootstrap-3-m0-slides
1 bootstrap-3-m0-slides1 bootstrap-3-m0-slides
1 bootstrap-3-m0-slidesMasterCode.vn
 
8. web developer tools and visual studio 2013 aspdotnet-mvc5-slides
8. web developer tools and visual studio 2013 aspdotnet-mvc5-slides8. web developer tools and visual studio 2013 aspdotnet-mvc5-slides
8. web developer tools and visual studio 2013 aspdotnet-mvc5-slidesMasterCode.vn
 
Bài 5 Hướng dẫn xây dựng Extension
Bài 5 Hướng dẫn xây dựng ExtensionBài 5 Hướng dẫn xây dựng Extension
Bài 5 Hướng dẫn xây dựng ExtensionMasterCode.vn
 
Bài 6 Sử dụng hàm - Giáo trình FPT
Bài 6 Sử dụng hàm - Giáo trình FPTBài 6 Sử dụng hàm - Giáo trình FPT
Bài 6 Sử dụng hàm - Giáo trình FPTMasterCode.vn
 
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPT
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPTBÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPT
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPTMasterCode.vn
 
Bài 4 Quản trị domain & hosting Windows - Quản trị website
Bài 4 Quản trị domain & hosting Windows - Quản trị websiteBài 4 Quản trị domain & hosting Windows - Quản trị website
Bài 4 Quản trị domain & hosting Windows - Quản trị websiteMasterCode.vn
 
Bài 3 Cài đặt và quản lý các Extension của Joomla
Bài 3 Cài đặt và quản lý các Extension của JoomlaBài 3 Cài đặt và quản lý các Extension của Joomla
Bài 3 Cài đặt và quản lý các Extension của JoomlaMasterCode.vn
 
Bài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng webBài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng webMasterCode.vn
 
Bài 6: DEDICATED SERVER/VIRTUAL PRIVATE SERVER (VPS HOSTING) - Quản trị website
Bài 6: DEDICATED SERVER/VIRTUAL PRIVATE SERVER (VPS HOSTING) - Quản trị websiteBài 6: DEDICATED SERVER/VIRTUAL PRIVATE SERVER (VPS HOSTING) - Quản trị website
Bài 6: DEDICATED SERVER/VIRTUAL PRIVATE SERVER (VPS HOSTING) - Quản trị websiteMasterCode.vn
 
Bài 3 Quản trị hosting trong cPanel (tiếp) - Quản trị website
Bài 3 Quản trị hosting trong cPanel (tiếp) - Quản trị websiteBài 3 Quản trị hosting trong cPanel (tiếp) - Quản trị website
Bài 3 Quản trị hosting trong cPanel (tiếp) - Quản trị websiteMasterCode.vn
 
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...MasterCode.vn
 
Bài 4 Hướng dẫn chỉnh sửa và thiết kế giao diện web Joomla
Bài 4 Hướng dẫn chỉnh sửa và thiết kế giao diện web JoomlaBài 4 Hướng dẫn chỉnh sửa và thiết kế giao diện web Joomla
Bài 4 Hướng dẫn chỉnh sửa và thiết kế giao diện web JoomlaMasterCode.vn
 
Bài 9 Hướng dẫn thiết kế website bán hàng trực tuyến bằng Joomla
Bài 9 Hướng dẫn thiết kế website bán hàng trực tuyến bằng JoomlaBài 9 Hướng dẫn thiết kế website bán hàng trực tuyến bằng Joomla
Bài 9 Hướng dẫn thiết kế website bán hàng trực tuyến bằng JoomlaMasterCode.vn
 
Bài 5: Hướng dẫn SEO cho website - Quản trị website
Bài 5: Hướng dẫn SEO cho website - Quản trị websiteBài 5: Hướng dẫn SEO cho website - Quản trị website
Bài 5: Hướng dẫn SEO cho website - Quản trị websiteMasterCode.vn
 
Bài 2 Sử dụng phần mềm ADOBE BRIDGE & các thao tác làm việc cơ bản - Giáo trì...
Bài 2 Sử dụng phần mềm ADOBE BRIDGE & các thao tác làm việc cơ bản - Giáo trì...Bài 2 Sử dụng phần mềm ADOBE BRIDGE & các thao tác làm việc cơ bản - Giáo trì...
Bài 2 Sử dụng phần mềm ADOBE BRIDGE & các thao tác làm việc cơ bản - Giáo trì...MasterCode.vn
 
Bài 9: Sao lưu và khôi phục hệ thống Domain - Giáo trình FPT
Bài 9: Sao lưu và khôi phục hệ thống Domain - Giáo trình FPTBài 9: Sao lưu và khôi phục hệ thống Domain - Giáo trình FPT
Bài 9: Sao lưu và khôi phục hệ thống Domain - Giáo trình FPTMasterCode.vn
 

Andere mochten auch (20)

Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 
Bài 5 Chức năng gửi email cho website - Xây dựng ứng dụng web
Bài 5 Chức năng gửi email cho website - Xây dựng ứng dụng webBài 5 Chức năng gửi email cho website - Xây dựng ứng dụng web
Bài 5 Chức năng gửi email cho website - Xây dựng ứng dụng web
 
Bài 2 Cơ chế làm việc của CSS - Giáo trình FPT
Bài 2 Cơ chế làm việc của CSS - Giáo trình FPTBài 2 Cơ chế làm việc của CSS - Giáo trình FPT
Bài 2 Cơ chế làm việc của CSS - Giáo trình FPT
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
 
1 bootstrap-3-m0-slides
1 bootstrap-3-m0-slides1 bootstrap-3-m0-slides
1 bootstrap-3-m0-slides
 
8. web developer tools and visual studio 2013 aspdotnet-mvc5-slides
8. web developer tools and visual studio 2013 aspdotnet-mvc5-slides8. web developer tools and visual studio 2013 aspdotnet-mvc5-slides
8. web developer tools and visual studio 2013 aspdotnet-mvc5-slides
 
Bài 5 Hướng dẫn xây dựng Extension
Bài 5 Hướng dẫn xây dựng ExtensionBài 5 Hướng dẫn xây dựng Extension
Bài 5 Hướng dẫn xây dựng Extension
 
Bài 6 Sử dụng hàm - Giáo trình FPT
Bài 6 Sử dụng hàm - Giáo trình FPTBài 6 Sử dụng hàm - Giáo trình FPT
Bài 6 Sử dụng hàm - Giáo trình FPT
 
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPT
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPTBÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPT
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPT
 
Bài 4 Quản trị domain & hosting Windows - Quản trị website
Bài 4 Quản trị domain & hosting Windows - Quản trị websiteBài 4 Quản trị domain & hosting Windows - Quản trị website
Bài 4 Quản trị domain & hosting Windows - Quản trị website
 
Bài 3 Cài đặt và quản lý các Extension của Joomla
Bài 3 Cài đặt và quản lý các Extension của JoomlaBài 3 Cài đặt và quản lý các Extension của Joomla
Bài 3 Cài đặt và quản lý các Extension của Joomla
 
Bài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng webBài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng web
 
Bài 6: DEDICATED SERVER/VIRTUAL PRIVATE SERVER (VPS HOSTING) - Quản trị website
Bài 6: DEDICATED SERVER/VIRTUAL PRIVATE SERVER (VPS HOSTING) - Quản trị websiteBài 6: DEDICATED SERVER/VIRTUAL PRIVATE SERVER (VPS HOSTING) - Quản trị website
Bài 6: DEDICATED SERVER/VIRTUAL PRIVATE SERVER (VPS HOSTING) - Quản trị website
 
Bài 3 Quản trị hosting trong cPanel (tiếp) - Quản trị website
Bài 3 Quản trị hosting trong cPanel (tiếp) - Quản trị websiteBài 3 Quản trị hosting trong cPanel (tiếp) - Quản trị website
Bài 3 Quản trị hosting trong cPanel (tiếp) - Quản trị website
 
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...
 
Bài 4 Hướng dẫn chỉnh sửa và thiết kế giao diện web Joomla
Bài 4 Hướng dẫn chỉnh sửa và thiết kế giao diện web JoomlaBài 4 Hướng dẫn chỉnh sửa và thiết kế giao diện web Joomla
Bài 4 Hướng dẫn chỉnh sửa và thiết kế giao diện web Joomla
 
Bài 9 Hướng dẫn thiết kế website bán hàng trực tuyến bằng Joomla
Bài 9 Hướng dẫn thiết kế website bán hàng trực tuyến bằng JoomlaBài 9 Hướng dẫn thiết kế website bán hàng trực tuyến bằng Joomla
Bài 9 Hướng dẫn thiết kế website bán hàng trực tuyến bằng Joomla
 
Bài 5: Hướng dẫn SEO cho website - Quản trị website
Bài 5: Hướng dẫn SEO cho website - Quản trị websiteBài 5: Hướng dẫn SEO cho website - Quản trị website
Bài 5: Hướng dẫn SEO cho website - Quản trị website
 
Bài 2 Sử dụng phần mềm ADOBE BRIDGE & các thao tác làm việc cơ bản - Giáo trì...
Bài 2 Sử dụng phần mềm ADOBE BRIDGE & các thao tác làm việc cơ bản - Giáo trì...Bài 2 Sử dụng phần mềm ADOBE BRIDGE & các thao tác làm việc cơ bản - Giáo trì...
Bài 2 Sử dụng phần mềm ADOBE BRIDGE & các thao tác làm việc cơ bản - Giáo trì...
 
Bài 9: Sao lưu và khôi phục hệ thống Domain - Giáo trình FPT
Bài 9: Sao lưu và khôi phục hệ thống Domain - Giáo trình FPTBài 9: Sao lưu và khôi phục hệ thống Domain - Giáo trình FPT
Bài 9: Sao lưu và khôi phục hệ thống Domain - Giáo trình FPT
 

Ähnlich wie Bài 6 Tải file và hình ảnh lên website - Xây dựng ứng dụng web

Devwork.vn Tài liệu lập trình PHP Laravel
Devwork.vn Tài liệu lập trình PHP LaravelDevwork.vn Tài liệu lập trình PHP Laravel
Devwork.vn Tài liệu lập trình PHP LaravelDevwork
 
DVMS tạo module joomla 2.5
DVMS tạo module joomla 2.5DVMS tạo module joomla 2.5
DVMS tạo module joomla 2.5dvms
 
Học lập trình Wordpress - bài 2 - Tìm hiểu cấu trúc và cấu hình nâng cao
Học lập trình Wordpress - bài 2 - Tìm hiểu cấu trúc và cấu hình nâng cao Học lập trình Wordpress - bài 2 - Tìm hiểu cấu trúc và cấu hình nâng cao
Học lập trình Wordpress - bài 2 - Tìm hiểu cấu trúc và cấu hình nâng cao KhanhPham
 
Cac lenh co_ban_linux
Cac lenh co_ban_linuxCac lenh co_ban_linux
Cac lenh co_ban_linuxgofriv
 
E learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHPE learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHPelearninglabvn
 

Ähnlich wie Bài 6 Tải file và hình ảnh lên website - Xây dựng ứng dụng web (7)

Devwork.vn Tài liệu lập trình PHP Laravel
Devwork.vn Tài liệu lập trình PHP LaravelDevwork.vn Tài liệu lập trình PHP Laravel
Devwork.vn Tài liệu lập trình PHP Laravel
 
DVMS tạo module joomla 2.5
DVMS tạo module joomla 2.5DVMS tạo module joomla 2.5
DVMS tạo module joomla 2.5
 
Học lập trình Wordpress - bài 2 - Tìm hiểu cấu trúc và cấu hình nâng cao
Học lập trình Wordpress - bài 2 - Tìm hiểu cấu trúc và cấu hình nâng cao Học lập trình Wordpress - bài 2 - Tìm hiểu cấu trúc và cấu hình nâng cao
Học lập trình Wordpress - bài 2 - Tìm hiểu cấu trúc và cấu hình nâng cao
 
Css
CssCss
Css
 
Giới thiệu Yii Framework 1
Giới thiệu Yii Framework 1Giới thiệu Yii Framework 1
Giới thiệu Yii Framework 1
 
Cac lenh co_ban_linux
Cac lenh co_ban_linuxCac lenh co_ban_linux
Cac lenh co_ban_linux
 
E learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHPE learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHP
 

Mehr von MasterCode.vn

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnMasterCode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnMasterCode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnMasterCode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnMasterCode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnMasterCode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnMasterCode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnMasterCode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnMasterCode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnMasterCode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnMasterCode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnMasterCode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnMasterCode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...MasterCode.vn
 

Mehr von MasterCode.vn (20)

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
 
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
 

Bài 6 Tải file và hình ảnh lên website - Xây dựng ứng dụng web

  • 1. Bài 6 Tải file và hình ảnh lên website
  • 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ới transparency Mục tiêu Bài 6 - Tải file và hình ảnh lên website 2
  • 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 Bài 6 - Tải file và hình ảnh lên website 3
  • 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) Bài 6 - Tải file và hình ảnh lên website 4 is_file($path) is_dir($path) file_exists($path) getcwd() DIRECTORY_SEPARATOR scandir($path)
  • 5. Hiển thị danh sách folder: Ví dụ Bài 6 - Tải file và hình ảnh lên website 5 $path = getcwd(); $items = scandir($path); echo "<p>Content of path: </p>"; echo "<ul>"; foreach ($items as $item) { echo '<li>' . $item . '</li>'; } echo '</ul>';
  • 6. Hiển thị các file từ danh sách folder: Ví dụ Bài 6 - Tải file và hình ảnh lên website 6 $path = getcwd(); $items = scandir($path); $files = array(); foreach ($items as $item) { $item_path = $part . DIRECTORY_SEPARATOR . $item; if (is_file($item_path)) { $file[] = $item; } } echo "<p>Files in $path </p>"; echo '<ul>'; foreach ($files as $file) { echo '<li>' . $file . '</li>'; } echo '</ul>';
  • 7. Ba hàm đọc file: File($name) File_get_contents($name) Readfile($name) Hàm ghi file: File_put_contents($name, $data) Làm việc với file Bài 6 - Tải file và hình ảnh lên website 7
  • 8. Đọc nội dung từ file txt: Ghi nội dung vào file txt: Đọc và ghi file txt Bài 6 - Tải file và hình ảnh lên website 8 $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);
  • 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 Bài 6 - Tải file và hình ảnh lên website 9 $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);
  • 10. Các chế độ mở file của hàm fopen Bài 6 - Tải file và hình ảnh lên website 10 rb wb ab xb
  • 11. Hàm mở/đóng file: fopen($path, $mode) feof($file) fclose($file) Hàm đọc/ghi file: fread($file, $length) fgets($file) fwrite($file, $data) Các hàm thao tác với file Bài 6 - Tải file và hình ảnh lên website 11
  • 12. Đọc từ một file: Ví dụ Bài 6 - Tải file và hình ảnh lên website 12 $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) == '#') {continue; } $names .= "<div>" . $name . "</div>n"; } fclose($file); echo $names;
  • 13. Ghi vào một file: Ví dụ Bài 6 - Tải file và hình ảnh lên website 13 $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);
  • 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 Bài 6 - Tải file và hình ảnh lên website 14
  • 15. Ghi dữ liệu vào file CSV: Đọc dữ liệu từ file CSV: Ví dụ Bài 6 - Tải file và hình ảnh lên website 15 $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); } fclose($file); $file = fopen('products.csv', 'rb'); $products = array(); while (!feof($file)) { $product = fgetcsv($file); if ($product == false) continue; $products[] = $product; echo "<div>$product[0] | $product[1] | $product[2]</div>"; }
  • 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 Bài 6 - Tải file và hình ảnh lên website 16
  • 17. Copy một file: Đổi tên một file: Ví dụ Bài 6 - Tải file và hình ảnh lên website 17 $name1 = 'message.txt'; $name2 = 'message_2.txt'; if (file_exists($name1)) { $success = copy($name1, $name2); if ($success) { echo '<div>File was copied.</div>'; } } $name2 = 'message_2.txt'; $name3 = 'message_copy.txt'; if (file_exists($name2)) { $success = rename($name2, $name3); if ($success) { echo '<div>File was renamed.</div>'; } }
  • 18. Xóa một file: Ví dụ Bài 6 - Tải file và hình ảnh lên website 18 $name3 = 'message_copy.txt'; if (file_exists($name3)) { $success = unlink($name3); if ($success) { echo '<div>File was deleted.</div>'; } }
  • 19. Form HTML để upload file Mã PHP làm việc với file upload Upload file Bài 6 - Tải file và hình ảnh lên website 19
  • 20. Để upload file thì form HTML cần có thành phần tối thiểu như sau: Kết quả hiển thị: Form HTML để upload file Bài 6 - Tải file và hình ảnh lên website 20 <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="file1"/> <br/> <input type="submit" value="Upload"/> </form>
  • 21. Các thành phần của mảng $_FILES: Name Size Tmp_name Type Error Các mã lỗi thường gặp: UPLOAD_ERR_OK: không xảy ra lỗi UPLOAD_ERR_INI_SIZE: kích thước file vượt quy định UPLOAD_ERR_PARTIAL Làm việc với file upload Bài 6 - Tải file và hình ảnh lên website 21
  • 22. Hàm lưu file đã upload: move_uploaded_file($tmp, $new) Ví dụ: Làm việc với file upload Bài 6 - Tải file và hình ảnh lên website 22 $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'; }
  • 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 Bài 6 - Tải file và hình ảnh lên website 23
  • 24. Hàm lấy thông tin về một file ảnh: getimagesize($path) Các hằng IMAGETYPE thông dụng: IMAGETYPE_JPEG IMAGETYPE_GIF IMAGETYPE_PNG Lấy thông tin về ảnh Bài 6 - Tải file và hình ảnh lên website 24
  • 25. Lấy thông tin về một file ảnh: Ví dụ Bài 6 - Tải file và hình ảnh lên website 25 //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];
  • 26. Ví dụ Bài 6 - Tải file và hình ảnh lên website 26 //Hiển thị loại ảnh switch($image_type) { case IMAGETYPE_JPEG: echo 'This is a JPEG image.<br/>'; break; case IMAGETYPE_GIF: echo 'This is a GIF image.<br/>'; break; case IMAGETYPE_PNG: echo 'This is a PNG image.<br/>'; break; default: echo 'File must be a JPEG, GIF or PNG image.<br/>'; exit; }
  • 27. imagecreatefromxxx($path) imagesx($image) imagesy($image) imagexxx($image, $path) imagedestroy($image) Các hàm thao tác với file ảnh Bài 6 - Tải file và hình ảnh lên website 27
  • 28. Đọc và ghi file ảnh: Ví dụ Bài 6 - Tải file và hình ảnh lên website 28 //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];
  • 29. Ví dụ Bài 6 - Tải file và hình ảnh lên website 29 //Thiết lập tên hàm ứng với mỗi loại ảnh switch($image_type) { case IMAGETYPE_JPEG: $image_from_file = 'imagecreatefromjpeg'; $image_to_file = 'imagejpeg'; break; case IMAGETYPE_GIF: $image_from_file = 'imagecreatefromgif'; $image_to_file = 'imagegif'; break; case IMAGETYPE_PNG: $image_from_file = 'imagecreatefrompng'; $image_to_file = 'imagepng'; break; default: echo 'File must be a JPEG, GIF or PNG image'; exit; }
  • 30. Ví dụ Bài 6 - Tải file và hình ảnh lên website 30 //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);
  • 31. imagecreatetruecolor($w, $h) imagecopyresampled($di, $si, $dx, $dy, $sx, $sy, $dw, $dh, $sw, $sh) Hàm thay đổi kích cỡ ảnh Bài 6 - Tải file và hình ảnh lên website 31
  • 32. Thay đổi kích cỡ ảnh thành tối đa là 100x100 pixels: Ví dụ Bài 6 - Tải file và hình ảnh lên website 32 //Thiết lập các biến $old_path = getcwd() . DIRECTORY_SEPARATOR . 'gibson_sg.png'; $new_path = getcwd() . DIRECTORY_SEPARATOR . 'gibson_sg_100.png'; $image_type = IMAGETYPE_PNG; //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); //Tính toán tỷ lệ ảnh sao cho kích cỡ tối đa là 100x100 $width_ratio = $old_width / 100; $height_ratio = $old_height / 100;
  • 33. Ví dụ Bài 6 - Tải file và hình ảnh lên website 33 //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); //Tạo ảnh mới $new_image = imagecreatetruecolor($new_width, $new_height); //Copy ảnh cũ thành ảnh mới để thay đổi kích thước $new_x = 0; $new_y = 0; $old_x = 0; $old_y = 0; imagecopyresampled($new_image, $old_image, $new_x, $new_y, $old_x, $old_y,$new_width, $new_height, $old_width, $old_height);
  • 34. Ví dụ Bài 6 - Tải file và hình ảnh lên website 34 //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);
  • 35. imagecolorallocatealpha($i, $r, $g, $b, $a) imagecolortransparent($i, $a) imagealphablending($i, $f) imagesavealpha($i, $f) Hàm làm việc với độ trong suốt của ảnh Bài 6 - Tải file và hình ảnh lên website 35
  • 36. Ví dụ Bài 6 - Tải file và hình ảnh lên website 36 //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 if ($image_type == IMAGETYPE_GIF) { $alpha = imagecolorallocatealpha($new_image, 0, 0, 0, 127); imagecolortransparent($new_image, $alpha); } if ($image_type == IMAGETYPE_PNG || $image_type == IMAGETYPE_GIF) { imagealphablending($new_image, false); imagesavealpha($new_image, true); }
  • 37. Giao diện người dùng: Kết quả Bài 6 - Tải file và hình ảnh lên website 37
  • 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 định dạ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 suốt của ảnh với hình nền để tạo ra hiệu ứng trong suốt. Quá trình này gọi là quá trình trộn alpha (alpha blending). Tổng kết bài học Bài 6 - Tải file và hình ảnh lên website 38