Đầu tiên chúng ta sẽ tạo một trang tải lên và trang tải lên này sẽ gửi hình ảnh đến máy chủ. Sau khi sao chép hình ảnh, nó sẽ thay đổi kích thước hình ảnh với một tên mới trong máy chủ
Khối mã HTML bên dưới sẽ tạo một biểu mẫu và bên trong nó là bộ chọn tệp và gửi đầu vào. Biểu mẫu này sẽ gửi dữ liệu tới upload_image. tệp php sau khi gửi
Select image to upload:
Hình ảnh dưới đây bạn có thể thấy hình ảnh chọn và tải lên hình thức
Bây giờ sau khi chọn tệp, chúng ta sẽ lấy tệp đã tải lên và sao chép tệp đó vào một thư mục. Sau đó, chúng tôi sẽ thay đổi kích thước của nó với một tên mới trong máy chủ
Tại thời điểm này, chúng tôi sẽ tạo một phương thức để đáp ứng mục đích chính của chúng tôi. Phương pháp này sẽ sao chép hình ảnh và thay đổi kích thước thành kích thước mục tiêu
Đầu tiên chúng ta sẽ kiểm tra xem file có trống hay không, nếu không trống thì tiếp tục. Sau đó quyết định loại hình ảnh là jpeg hoặc png hoặc gif hoặc bmp và khai báo hình ảnh cho hình ảnh liên quan. Nhận kích thước hình ảnh nguồn và kích thước hình ảnh đích từ các tham số của phương thức. Cuối cùng Chuẩn bị và sao chép hình ảnh. Đặt chất lượng hình ảnh. Tôi đặt nó là 65%, bạn cũng có thể đặt nó từ một tham số khác của phương thức
chức năng dưới đây sẽ làm những gì tôi đã nói ở trên
function scale_image[$image,$target,$target_width,$target_height]
{
//First we will check the file is empty or not, if is not empty go on
if[!empty[$image]]
{
$source_image = null;
$exploded = explode['.',$image];
$ext = $exploded[count[$exploded] - 1];
//Then decide the image type is jpeg or pgn orgif or bmp and declare the image to the related image.
if [preg_match['/jpg|jpeg/i',$ext]]
$source_image = imagecreatefromjpeg[$image];
else if [preg_match['/png/i',$ext]]
$source_image = imagecreatefrompng[$image];
else if [preg_match['/gif/i',$ext]]
$source_image = imagecreatefromgif[$image];
else if [preg_match['/bmp/i',$ext]]
$source_image = imagecreatefrombmp[$image];
//get Source image dimensions
$source_imagex = imagesx[$source_image];
$source_imagey = imagesy[$source_image];
//and Destination image dimensions from parameters of the method.
$dest_imagex = $target_width;
$dest_imagey = $target_height;
//Prepare and copy image.
$image2 = imagecreatetruecolor[$dest_imagex, $dest_imagey];
imagecopyresampled[$image2, $source_image, 0, 0, 0, 0,
$dest_imagex, $dest_imagey, $source_imagex, $source_imagey];
//Set the image quality. I set it as 65% also you can set it from another parameter of the method.
imagejpeg[$image2, $target, 65];
}
}
Đầu tiên chúng ta phải chỉ định thư mục mà hình ảnh sẽ được tải lên. Nếu thư mục không tồn tại, chúng ta phải tạo thư mục đó. Khối mã bên dưới, bạn sẽ thấy cách thực hiện
$target_dir = "../../img/contents/" . date["Y"] . '/' . date["m"] . '/' . date["d"] . '/';
if [!is_dir[$target_dir]] {
mkdir[$target_dir, 0777, true];
}
Ở đây chúng tôi lấy tên tệp đã tải lên và chúng tôi đã xóa phần mở rộng của tệp Và sau đó chúng tôi sẽ kết hợp thư mục và tên tệp đích và một lần nữa mà không có phần mở rộng tệp. Và ở đây chúng tôi lấy loại tệp để quyết định đó có phải là hình ảnh hay không. Để tải hình ảnh lên đây, chúng ta nên kiểm tra định dạng và nếu đó không phải là hình ảnh, chúng ta sẽ hủy tải lên Và chúng ta khai báo đường dẫn tệp đích với phần mở rộng và tên tệp
//Here we get the uploaded file name and we removed the extension of the file
$file_base_name = substr[$_FILES["fileToUpload"]["name"], 0, strrpos[$_FILES["fileToUpload"]["name"], "."]];
//And then we will combine the folder and target file name and again without the file extension.
$target_file = $target_dir . basename[$_FILES["fileToUpload"]["name"]] ;
$original_file_name = substr[$target_file, 0, strrpos[$target_file, "."]];
$uploadOk = 1;
//And here we get the file type to decide it is an image or not.
$imageFileType = strtolower[pathinfo[$target_file,PATHINFO_EXTENSION]];
//To upload image here we should check the format and if it is not an image we cancel the uploading.
if[$imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ] {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}
//And we declare the target file path with the extention and file name.
$target_file = $original_file_name . "." . $imageFileType;
Các cấu hình của chúng tôi đã sẵn sàng và chúng tôi sẽ tải tệp lên với đường dẫn tệp đã tạo
if [move_uploaded_file[$_FILES["fileToUpload"]["tmp_name"], $target_file]] {
echo "Image file was uploaded :". basename[ $_FILES["fileToUpload"]["name"]] ;
}
Mọi thứ đã sẵn sàng. Tất cả những gì chúng ta phải làm bây giờ là thay đổi kích thước và sao chép hình ảnh. Khối mã bên dưới sẽ thực hiện sau khi tải hình ảnh lên. Tôi sẽ viết mã với mã tải lên bên dưới.
if [move_uploaded_file[$_FILES["fileToUpload"]["tmp_name"], $target_file]] {
echo "Image file was uploaded :". basename[ $_FILES["fileToUpload"]["name"]]. "
";
scale_image[$target_file,
substr[$target_file,0,strrpos[$target_file, "."]] . "_1024x500" . "." . $imageFileType,
1024, 500
];
}
Bây giờ chúng tôi đã sẵn sàng để tải lên hình ảnh. Hình ảnh bên dưới, bạn có thể thấy đầu ra của hình ảnh được sao chép. Như bạn có thể thấy tôi đã tải lên hình ảnh và tạo ba bản sao với các kích thước khác nhau
Đó là tất cả trong bài viết này
Có một hình ảnh tải lên và thay đổi kích thước tốt
Chúc các bạn có những ngày mạnh khỏe
Burak Hamdi TUFAN
thẻ
Web php tải lên tải hình ảnh lên Sao chép Resize
Chia sẻ bài đăng này
Facebook LinkedIn Twitter Gửi bằng Whatsapp In trang này
Tác giả
Tôi là một nhà phát triển phần mềm có kinh nghiệm 15 năm và ở đây để chia sẻ tất cả kinh nghiệm lập trình của tôi. Tôi đã làm việc trên rất nhiều nền tảng và ngôn ngữ lập trình, đặc biệt là C, C#, C++ và Java. Tôi đang học Tiến sĩ tại Đại học Kocaeli về Công nghệ Hàng không. Tôi đang xây dựng phần mềm và công nghệ về hàng không
Facebook Twitter Instagram LinkedIn Youtube
TỪ. mạng
10/04/2020
Cách sử dụng Thử - Bắt - Cuối cùng trong PHP
04/11/2020
Cross Site Scripting [XSS] là gì và cách ngăn chặn
02/04/2022
Giải thích hàm forEach trong Javascript
Đăng bình luận
Thành công. Nhận xét của bạn được gửi đến bài viết. Nó sẽ được hiển thị sau khi xác nhận
Lỗi. Đã xảy ra lỗi khi gửi nhận xét của bạn. Kiểm tra đầu vào của bạn
Họ và tên
Địa chỉ Email [Sẽ ẩn]
Bình luận
Bình luận
- không có bình luận. Hãy là chủ sở hữu của bình luận đầu tiên
2. 2K
12/04/2020
Bạn có muốn ủng hộ tôi không?Bạn có muốn ủng hộ tôi không?
×ĐỊA CHỈ BITCOIN
1KMRDVFct9LRCtq9pxqSBdPwm9fsumVtiN
ĐỊA CHỈ Ripple [XRP]
1983506912
ĐỊA CHỈ DOGECOIN
DTtHFFsEGviPDfod6Vw2RnbksoHisCQEAy
ĐỊA CHỈ SHIBA INU
0x0808d47c627cacba4e683300689336751cd59e8d
Truyền thông xã hội
Github LinkedIn Facebook Twitter Instagram Youtube
Thể loại
Lập trình chung
Số lượng nội dung. 112
di động
Số lượng nội dung. 32
mạng
Số lượng nội dung. 42
điện tử
Số lượng nội dung. 36
thông tin
Số lượng nội dung. 41
bài viết cuối
Quản lý bộ nhớ trong C++ [từ khóa mới và xóa]
Lập trình chung
Giải thích các hàm Mũi tên trong JavaScript
mạng
Giải thích về các Mô-đun trong JavaScript
mạng
Giải thích về tính kế thừa trong Java
Lập trình chung
Nạp chồng phương thức trong Java
Lập trình chung
Toán học điều hướng thư viện bên ngoài ODR trái Facade
Tổng số lượt xem hàng ngày. 574
Giới thiệu Blog
GIỚI THIỆU VỀ TÁC GIẢ
Tên tôi là Burak Hamdi TUFAN. Tôi đã tốt nghiệp Đại học Kocaeli / Thổ Nhĩ Kỳ. Tôi đã học về Công nghệ hàng không
Tôi cũng là một nhà phát triển phần mềm. Tôi thích nghiên cứu và phát triển vài thứ. Tôi đang phát triển phần mềm gần 15 năm. Tôi có thể phát triển phần mềm với QT C++, C#, Java, PHP, Javascript, C, STM, Arduino, SQL, Android. Tôi có kinh nghiệm về công nghệ máy tính hơn 15 năm