Lập trình web với PHP - p29
Số trang: 8
Loại file: pdf
Dung lượng: 162.64 KB
Lượt xem: 10
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Chương 7 : THAO TÁC VÀ TẠO HÌNH ẢNH VỚIPHPChuyển đổi loại file hình ảnhCó một vài chú ý về cách chèn hình ảnh của bạn khi dưa nó đến với người dùng. Hãy nhìn vào dòng sau:” align=”left”..............
Nội dung trích xuất từ tài liệu:
Lập trình web với PHP - p29Chương 7 : THAO TÁC VÀ TẠO HÌNH ẢNH VỚI PHP Chương này bao gồm những phần sau: - Có thể vài đặt PHP bao gồm cả thư viện GD. - Cho phép người dùng đưa hình ảnh của họ lên. - Nhận lại thông tin về hình ảnh như loại, kích thước. - Tạo một hình ảnh mới. - Sao chép một ảnh hoặc một phần của ảnh. - Tạo thumbnails(phiên bản thu nhỏ của ảnh). - Tạo một phiên bản ảnh trắng đen. - Thêm hoa văn và tên cho hình. Chuyển đổi loại file hình ảnh Có một vài chú ý về cách chèn hình ảnh của bạn khi dưa nó đến với người dùng.Hãy nhìn vào dòng sau:Chúng ta sẽ chọn cách thứ 3. Ở đây, chúng ta sẽ thay đổi file check_image.php một cáchhợp lý. Bằng cách tạo ra một bản sao loại .jpg(trong 3 loại GIF, JPG, PNG) chứ khôngthay đổi bản. Để chuyển đổi loại file bạn làm 4 bước sau: 1.Tạo một hình ảnh GD-thân thiện mới từ hình ảnh gốc để làm một hình ảnhnguồn tạm. 2. Tạo một hình ảnh GD-thân thiện rỗng để làm một hình ảnh đích tạm. 3. Sao chép hình ảnh nguồn mới đến hình ảnh đích mới. 4. Lưu hoặc xuất ra hình ảnh đích đã được thay đổi. 5. (Tùy ý, nhưng khuyên dùng) xóa hình ảnh nguồn tạm và hình ảnh đích tạm. PHP có những hàm cho các file loại đặc biệt cho bước 1 và 4(ví dụimagecreatefromgif, imagecreatefromjpg), vì vậy, điều quan trọng là bạn biết loại file nàomà bạn đang làm việc với nó.Ví dụ: sắp xếp hợp lý tiến trình Để xử lý file của bạn cần thay đổi check_image.php như sau: $ImageName = $ImageDir . $image_tempname;if (move_uploaded_file($_FILES[„image_filename‟][„tmp_name‟],$ImageName)){//Lấy thông tin về hình ảnh đưa lên list($width, $height, $type, $attr) = getimagesize($ImageName);//**Xóa từ dòng nàyswitch ($type){ case 1: $ext = “.gif”; break; case 2: $ext = “.jpg”; break; case 3: $ext = “.png”; break; default: echo “Sorry, but the file you uploaded was not a GIF, JPG, or “ . “PNG file.”; echo “Please hit your browser‟s „back‟ button and try again.”; }//**kết thúc xóa//**thêm những dòng mới nàyif ($type > 3){ echo “Sorry, but the file you uploaded was not a GIF, JPG, or “ . “PNG file.”; echo “Please hit your browser‟s „back‟ button and try again.”;} else{//Hìng ảnh có thể chấp nhận//**kết thúc việc chèn//chèn thông tin về bảng hình ảnh $insert = “INSERT INTO images (image_caption, image_username, image_date) VALUES („$image_caption‟, „$image_username‟, „$today‟)”; $insertresults = mysql_query($insert) or die(mysql_error()); $lastpicid = mysql_insert_id();//thay đổi dòng này:$newfilename = $ImageDir . $lastpicid . “.jpg”;//**chèn dòng nàyif ($type = = 2){ rename($ImageName, $newfilename);} else{ if ($type = = 1) { $image_old = imagecreatefromgif($ImageName); } elseif ($type = = 3) { $image_old = imagecreatefrompng($ImageName); }//chuyển đổi hình ảnh thành jpg $image_jpg = imagecreatetruecolor($width, $height); imagecopyresampled($image_jpg, $image_old, 0, 0, 0, 0, $width, $height, $width, $height); imagejpeg($image_jpg, $newfilename); imagedestroy($image_old); imagedestroy($image_jpg); } $url = “location: showimage.php?id=” . $lastpicid; header($url);//**kết thúc dòng chèn}?> END OF DELETED LINES-->Mở trình soạn thảo và nhập đoạn mã lưu với tên Showimage.phpHere is your pic! So how does it feel to be famous? Here is the picture you just uploaded to our servers: > It is pixels wide a nd pixels high. It was uploaded on by . 3.Nếu bạn lưu file, đưa lên trình duyệt, và đưa hình ảnh của bạn, bạn sẽ chú ý rằng về cơbản giống như màn hình trước. Cách thức làm việc Hãy nhìn vào phần chính mà bạn thêm trong chương trình của bạn. Đầu tiên chúngta sẽ xử lý với file JPG bởi vì chúng sẳn sàn trong định dạng mà bạn muốn. if ($type == 2) { rename($ImageName, $newfilename); Ở đây, nếu file là file JPG, bạn sẽ đổi tên nó thành ID hình ảnh của bạn cộng vớiphần mở rộng ”.jpg”. Mặc khác, nếu file là GIF hoặc PNG bạn sử dụng hàm thích hợp để xử lý chúng.Bạn kiểm tra để thấy nếu file la JPG } else { if ($type = = 1) { $image_old = imagecreatefromgif($ImageName);imagecreatefromgif() là hàm hợp lý, bởi vì hình gốc có đuôi GIF. Nếu hình là PNG thìbạn sử dụng hàm imagecreatefrompng : } elseif ($type = = 3) { $image_old = imagecreatefrompng($Image ...
Nội dung trích xuất từ tài liệu:
Lập trình web với PHP - p29Chương 7 : THAO TÁC VÀ TẠO HÌNH ẢNH VỚI PHP Chương này bao gồm những phần sau: - Có thể vài đặt PHP bao gồm cả thư viện GD. - Cho phép người dùng đưa hình ảnh của họ lên. - Nhận lại thông tin về hình ảnh như loại, kích thước. - Tạo một hình ảnh mới. - Sao chép một ảnh hoặc một phần của ảnh. - Tạo thumbnails(phiên bản thu nhỏ của ảnh). - Tạo một phiên bản ảnh trắng đen. - Thêm hoa văn và tên cho hình. Chuyển đổi loại file hình ảnh Có một vài chú ý về cách chèn hình ảnh của bạn khi dưa nó đến với người dùng.Hãy nhìn vào dòng sau:Chúng ta sẽ chọn cách thứ 3. Ở đây, chúng ta sẽ thay đổi file check_image.php một cáchhợp lý. Bằng cách tạo ra một bản sao loại .jpg(trong 3 loại GIF, JPG, PNG) chứ khôngthay đổi bản. Để chuyển đổi loại file bạn làm 4 bước sau: 1.Tạo một hình ảnh GD-thân thiện mới từ hình ảnh gốc để làm một hình ảnhnguồn tạm. 2. Tạo một hình ảnh GD-thân thiện rỗng để làm một hình ảnh đích tạm. 3. Sao chép hình ảnh nguồn mới đến hình ảnh đích mới. 4. Lưu hoặc xuất ra hình ảnh đích đã được thay đổi. 5. (Tùy ý, nhưng khuyên dùng) xóa hình ảnh nguồn tạm và hình ảnh đích tạm. PHP có những hàm cho các file loại đặc biệt cho bước 1 và 4(ví dụimagecreatefromgif, imagecreatefromjpg), vì vậy, điều quan trọng là bạn biết loại file nàomà bạn đang làm việc với nó.Ví dụ: sắp xếp hợp lý tiến trình Để xử lý file của bạn cần thay đổi check_image.php như sau: $ImageName = $ImageDir . $image_tempname;if (move_uploaded_file($_FILES[„image_filename‟][„tmp_name‟],$ImageName)){//Lấy thông tin về hình ảnh đưa lên list($width, $height, $type, $attr) = getimagesize($ImageName);//**Xóa từ dòng nàyswitch ($type){ case 1: $ext = “.gif”; break; case 2: $ext = “.jpg”; break; case 3: $ext = “.png”; break; default: echo “Sorry, but the file you uploaded was not a GIF, JPG, or “ . “PNG file.”; echo “Please hit your browser‟s „back‟ button and try again.”; }//**kết thúc xóa//**thêm những dòng mới nàyif ($type > 3){ echo “Sorry, but the file you uploaded was not a GIF, JPG, or “ . “PNG file.”; echo “Please hit your browser‟s „back‟ button and try again.”;} else{//Hìng ảnh có thể chấp nhận//**kết thúc việc chèn//chèn thông tin về bảng hình ảnh $insert = “INSERT INTO images (image_caption, image_username, image_date) VALUES („$image_caption‟, „$image_username‟, „$today‟)”; $insertresults = mysql_query($insert) or die(mysql_error()); $lastpicid = mysql_insert_id();//thay đổi dòng này:$newfilename = $ImageDir . $lastpicid . “.jpg”;//**chèn dòng nàyif ($type = = 2){ rename($ImageName, $newfilename);} else{ if ($type = = 1) { $image_old = imagecreatefromgif($ImageName); } elseif ($type = = 3) { $image_old = imagecreatefrompng($ImageName); }//chuyển đổi hình ảnh thành jpg $image_jpg = imagecreatetruecolor($width, $height); imagecopyresampled($image_jpg, $image_old, 0, 0, 0, 0, $width, $height, $width, $height); imagejpeg($image_jpg, $newfilename); imagedestroy($image_old); imagedestroy($image_jpg); } $url = “location: showimage.php?id=” . $lastpicid; header($url);//**kết thúc dòng chèn}?> END OF DELETED LINES-->Mở trình soạn thảo và nhập đoạn mã lưu với tên Showimage.phpHere is your pic! So how does it feel to be famous? Here is the picture you just uploaded to our servers: > It is pixels wide a nd pixels high. It was uploaded on by . 3.Nếu bạn lưu file, đưa lên trình duyệt, và đưa hình ảnh của bạn, bạn sẽ chú ý rằng về cơbản giống như màn hình trước. Cách thức làm việc Hãy nhìn vào phần chính mà bạn thêm trong chương trình của bạn. Đầu tiên chúngta sẽ xử lý với file JPG bởi vì chúng sẳn sàn trong định dạng mà bạn muốn. if ($type == 2) { rename($ImageName, $newfilename); Ở đây, nếu file là file JPG, bạn sẽ đổi tên nó thành ID hình ảnh của bạn cộng vớiphần mở rộng ”.jpg”. Mặc khác, nếu file là GIF hoặc PNG bạn sử dụng hàm thích hợp để xử lý chúng.Bạn kiểm tra để thấy nếu file la JPG } else { if ($type = = 1) { $image_old = imagecreatefromgif($ImageName);imagecreatefromgif() là hàm hợp lý, bởi vì hình gốc có đuôi GIF. Nếu hình là PNG thìbạn sử dụng hàm imagecreatefrompng : } elseif ($type = = 3) { $image_old = imagecreatefrompng($Image ...
Tìm kiếm theo từ khóa liên quan:
lập trình web giáo trình php thiết kế web với php tự học php lập trình phpGợi ý tài liệu liên quan:
-
[Thảo luận] Học PHP như thế nào khi bạn chưa biết gì về lập trình?
5 trang 131 0 0 -
161 trang 129 1 0
-
Bài giảng Lập trình web nâng cao: Chương 8 - Trường ĐH Văn Hiến
36 trang 109 1 0 -
MỘT SỐ ĐIỂM CẦN CHÚ Ý KHI THIẾT KẾ WEB
5 trang 108 0 0 -
GIÁO TRÌNH LẬP TRÌNH WEB_PHẦN 2_BÀI 3
3 trang 103 0 0 -
Lập Trình Web: Các trang quản trị trong PHP - GV: Trần Đình Nghĩa
8 trang 94 0 0 -
231 trang 92 1 0
-
101 trang 91 2 0
-
Bài giảng Lập trình web nâng cao: Chương 7 - Trường ĐH Văn Hiến
16 trang 65 1 0 -
Bài giảng Lập trình Web ASP.Net với C#: Chương 9 - Th.S Phạm Đào Minh Vũ
55 trang 49 0 0