Hướng dẫn how to save picture in php? - làm thế nào để lưu hình ảnh trong php?

Lưu ý: Bạn nên sử dụng câu trả lời được chấp nhận nếu có thể. Nó tốt hơn của tôi.

Nó khá dễ dàng với thư viện GD.

Nó thường được tích hợp, bạn có thể có nó (sử dụng phpinfo() để kiểm tra)

$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");

imagejpeg($image, "folder/file.jpg");

Câu trả lời trên là tốt hơn (nhanh hơn) cho hầu hết các tình huống, nhưng với GD, bạn cũng có thể sửa đổi nó dưới một hình thức nào đó (ví dụ như cắt xén).

$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");

Điều này chỉ hoạt động nếu allow_url_fopentrue (theo mặc định)

Đôi khi, cần tải xuống một hình ảnh từ một URL cụ thể và sử dụng nó vào dự án. Nó rất dễ đi đến trang và sử dụng nút nhấp chuột phải và lưu hình ảnh. Nhưng điều gì sẽ xảy ra nếu bạn muốn làm điều đó theo chương trình? Những lý do có thể thay đổi người, nhà phát triển cho nhà phát triển. Nếu bộ hàng trăm URL hình ảnh được cung cấp và bằng cách nào đó muốn lưu chúng vào máy hoặc cần sử dụng khái niệm này vào các dự án. Sau đó, chắc chắn sẽ không tải xuống từng một trong những tệp đó theo cách thủ công.

Có hai cách tiếp cận khác nhau để tải xuống hình ảnh từ URL được liệt kê dưới đây:

  • Sử dụng xử lý tệp cơ bản.
  • Sử dụng thư viện HTTP được gọi là Curl.

Cả hai cách tiếp cận này đều đi kèm với bộ công trạng và điểm yếu của riêng họ.

Sử dụng xử lý tệp cơ bản: Đây là cách cơ bản và dễ nhất để hoàn thành nhiệm vụ. Cũng giống như bất kỳ tệp nào khác, hãy bắt đầu với việc tạo một tệp trống và mở nó trong chế độ viết của Write. Sau đó, lấy nội dung từ URL nguồn và dán nó vào tệp này. Và nó đơn giản như nó nghe. This is the fundamental and easiest way to accomplish the task. Just like any other file, start with the creation of an empty file and open it in “write” mode. After that, fetch the content from source URL and paste it into this file. And it is as simple as it sounds.

Từ kịch bản, bạn có thể tự mình tìm ra những gì nó làm.

  • Khai báo hai biến có tên là $ url và $ img, đại diện cho URL nguồn và tệp đích tương ứng.$url and $img, representing the source URL and destination file respectively.
  • Sử dụng hàm file_put_contents () để ghi một chuỗi vào một tệp có hai đối số. Một là tên tệp (hoặc đường dẫn) và một là nội dung cho tệp đó.file_put_contents() function to write a string to a file that takes two arguments. One is the file name (or path) and the other is the content for that file.
  • Sử dụng hàm file_get_contents () để đọc một tệp vào một chuỗi.file_get_contents() function to read a file into a string.

Example:

File downloaded!

Lưu ý: Nó lưu hình ảnh vào máy chủ với tên đã cho logo.png. It save the image to the server with given name logo.png.

Bây giờ vấn đề duy nhất với phương pháp này là nó yêu cầu cấu hình allow_url_fopen phải được đặt, được đặt thành 1 theo mặc định. Nhưng đôi khi, các yêu cầu dự án don cho phép có tùy chọn này. Điều này có thể là do một số biện pháp bảo mật phòng ngừa hoặc chỉ là một nguyên tắc thiết kế. Trong những trường hợp như vậy, có một phương pháp khác để lưu hình ảnh.

Sử dụng thư viện HTTP, Curl: Nói đúng, Curl không chỉ là một thư viện HTTP. Nó cũng có một số giao thức truyền dữ liệu khác. Vì hình ảnh của chúng tôi là trên một máy chủ HTTP, chúng tôi sẽ giới hạn bản thân trong phần nhỏ của thư viện này. Strictly speaking, cURL is not just an HTTP library. It has got several other data transferring protocols as well. As our image is on an HTTP server, we will limit ourselves to this small section of this library.

Curl cho phép thực hiện các yêu cầu HTTP trong PHP. Bắt đầu bằng cách khởi tạo một thể hiện của nó và thiết lập một số tùy chọn cần thiết cho yêu cầu, bao gồm cả URL. Sau đó thực thi truy vấn này trả về nội dung của tệp. Sau đó, phần còn lại của thủ tục là như nhau. Ngay khi chúng tôi nhận được dữ liệu, hãy đặt nó vào một tệp và lưu nó.

Approach:

  • Trong tập lệnh này, chúng tôi đã xác định một hàm file_get_contents_curl để sao chép hành vi của file_get_contents từ kỹ thuật đã đề cập trước đó.file_get_contents_curl to replicate the behaviour of file_get_contents from the previously mentioned technique.
  • Bên trong chức năng này, chúng tôi đã khởi tạo một thể hiện của Curl bằng cách sử dụng hàm Curl_init để sử dụng nó để tìm nạp dữ liệu.curl_init function in order to use it for fetching the data.
  • Sau đó, một số tùy chọn cần được đặt bằng Curl_SetOpt để ví dụ cụ thể này có thể hoạt động. Hàm này có ba đối sốcurl_setopt so that this particular example can work. This function takes three arguments
    • Một ví dụ của Curl
    • Tùy chọn tương ứng cần được đặt
    • Và giá trị mà tùy chọn được đặt

    Trong ví dụ này, các tùy chọn sau được đặt:

    • Curlopt_header, đó là đảm bảo liệu bạn có cần nhận các tiêu đề hay không;
    • Curlopt_returntransfer chuyển dữ liệu dưới dạng giá trị trả về của hàm curl_exec thay vì xuất trực tiếp.curl_exec function rather than outputting it directly.
    • Có một tùy chọn khác Curlopt_url đặt URL cho yêu cầu.
  • Sau đó, chúng tôi tìm nạp dữ liệu từ curl_exec và trả lại từ chức năng cha.curl_exec and return it from the parent function.
  • Dữ liệu này sau đó được ghi vào tệp trên máy của bạn bằng File_put_contents.file_put_contents.

Example:

<?php

function file_get_contents_curl(

$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
0
$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
1

$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
2
$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
3
$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
4

$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
2
$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
6
$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
3
$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
8

$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
2
$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
6
$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
3
File downloaded!
2

$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
2
$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
6
$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
3
File downloaded!
6
$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
0
File downloaded!
8

$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
2
File downloaded!
0
File downloaded!
1
$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
3
File downloaded!
8

$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
2
File downloaded!
5
$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
3
File downloaded!
8

$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
2
File downloaded!
9
File downloaded!
0phpinfo()1

phpinfo()2

File downloaded!
0 phpinfo()4

phpinfo()5 phpinfo()6phpinfo()7phpinfo()1

phpinfo()9allow_url_fopen0phpinfo()5allow_url_fopen22

File downloaded!
8

allow_url_fopen5 allow_url_fopen6

allow_url_fopen7

Output:

File downloaded!

Phương pháp này cung cấp một chút linh hoạt trong khi tìm nạp nội dung từ Internet. Như đã đề cập trước đó, nó không chỉ giới hạn ở HTTP mà còn có thể được sử dụng trong nhiều trường hợp khác. Nó cho phép định cấu hình chuyển nhượng theo bất cứ cách nào bạn muốn. Ví dụ: File_Get_Contents sử dụng một yêu cầu nhận đơn giản để tìm nạp dữ liệu, nhưng với Curl, cũng có thể sử dụng GET, POST, PUT và các phương thức khác.file_get_contents uses a simple GET request to fetch the data, but with cURL, can use GET, POST, PUT and other methods as well.

PHP là ngôn ngữ kịch bản phía máy chủ được thiết kế dành riêng cho phát triển web. Bạn có thể học PHP từ đầu bằng cách làm theo hướng dẫn PHP và các ví dụ PHP này.


Làm thế nào tôi có thể lưu trữ hình ảnh trong PHP?

Lưu trữ tệp hình ảnh trong cơ sở dữ liệu (Tải lên ...
Kiểm tra xem người dùng chọn tệp hình ảnh để tải lên ..
Truy xuất nội dung của tệp hình ảnh bằng TMP_NAME bằng cách sử dụng hàm PHP File_Get_Contents () ..
Chèn nội dung nhị phân của hình ảnh vào cơ sở dữ liệu bằng PHP và MySQL ..
Hiển thị trạng thái tải lên hình ảnh lên người dùng ..

Làm cách nào để lưu hình ảnh dưới dạng mã?

Mở bảng lệnh (Ctrl+Shift+P trên Windows và Linux, CMD+Shift+P trên OS X) và tìm kiếm ảnh chụp nhanh.Chọn mã bạn muốn chụp ảnh màn hình.Điều chỉnh chiều rộng của ảnh chụp màn hình nếu muốn.Nhấp vào nút Shutter để lưu ảnh chụp màn hình.

Làm cách nào để tiết kiệm trong PHP?

PHP là ngôn ngữ lập trình phía máy chủ được sử dụng cùng với HTML để tăng cường các tính năng của trang web ...
Chọn Lưu từ menu tệp ..
Nhập của bạn_file_name.PHP vào trường lưu làm, chắc chắn bao gồm.Tiện ích mở rộng PHP ..
Nhấp vào nút Lưu ..

Chúng ta có thể làm hình ảnh bằng PHP không?

Giới thiệu ¶ PHP không giới hạn trong việc tạo ra chỉ đầu ra HTML.Nó cũng có thể được sử dụng để tạo và thao tác các tệp hình ảnh ở nhiều định dạng hình ảnh khác nhau, bao gồm GIF, PNG, JPEG, WBMP và XPM.It can also be used to create and manipulate image files in a variety of different image formats, including GIF , PNG , JPEG , WBMP , and XPM .