Làm cách nào để tạo một bản sao của hình ảnh trong PHP?

Đầ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

thẻ ngẫu nhiên

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

Làm cách nào để sao chép tệp hình ảnh trong PHP?

Hàm copy[] trong PHP dùng để sao chép tệp từ nguồn sang đích hoặc thư mục đích . Nó tạo một bản sao của tệp nguồn sang tệp đích và nếu tệp đích đã tồn tại, nó sẽ bị ghi đè. Hàm copy[] trả về true nếu thành công và false nếu thất bại.

Bản sao hình ảnh là gì?

Bản sao dự phòng của cơ sở dữ liệu được gọi là bản sao hình ảnh. Bạn có thể tạo các bản sao ảnh bằng cách sử dụng một trong các tiện ích sao chép ảnh do IMS cung cấp. Tùy thuộc vào tiện ích bạn sử dụng, bạn có thể tạo các bản sao hình ảnh trong khi cơ sở dữ liệu trực tuyến, ngoại tuyến hoặc ngừng hoạt động.

Chức năng sao chép PHP là gì?

copy[] trong PHP . Một bản sao của tệp nguồn vào tệp đích được tạo. nếu tệp đích đã có, nó sẽ bị ghi đè. copies a file. A copy of the source file to the destination file gets created. if the destination file is already present, it gets overwritten.

Bạn sẽ tạo một hình ảnh trong PHP như thế nào?

Hàm imagecreate[] là một hàm có sẵn trong PHP dùng để tạo một hình ảnh mới. Hàm này trả về hình ảnh trống có kích thước đã cho. Nói chung, hàm imagecreatetruecolor[] được sử dụng thay cho hàm imagecreate[] vì hàm imagecreatetruecolor[] tạo ra hình ảnh chất lượng cao.

Chủ Đề