当前位置:网站首页>What are the ways to download network pictures with PHP
What are the ways to download network pictures with PHP
2022-07-06 07:46:00 【Brother Jing】
Method 1
advantage : Simple .
shortcoming : Relatively inefficient .
This method mainly uses two functions file_get_contents as well as file_put_contents This method is very simple , Generally speaking, first get To picture content , then put To a file .
The code is as follows :<?php
$imgFile = 'http://***.***.***/Uploads/20200424/1587710975CZlGeB.jpg';
// Get the file name
$imgName = trim(strrchr($imgFile, '/'), '/');
file_put_contents($imgName, file_get_contents($imgFile));
Method 2
The method most used by individuals .
shortcoming : A little more complicated , To master curl Usage of , Need to know curl The meaning of some options .
advantage : Efficient , It's easy to support https;
curl Very powerful , It's also phper Skills that must be mastered , Therefore, it is recommended that you use this method . The idea of this method is , Use curl Tools to get information about remote pictures , Then save the information to a local file . I'm not right here curl_exec The result of is verified , Steal laziness . About curl Usage of , If you want to know more , Can be in Gxlcms Mid search curl.$imgFile = 'https://***.***.***/uploads/20200121/bd873d945595.png';
function down_img($imgUrl)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $imgUrl); // Request address
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Do not output information directly
// You can visit https request
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
// perform curl And get the data
$results = curl_exec($ch);
$imgName = trim(strrchr($imgUrl, '/'), '/');
$fp = fopen($imgName, 'w');
fwrite($fp, $results);
// After execution , Remember to close resources
curl_close($ch);
}
down_img($imgFile);
Method 3
It's also very simple , What is used is php Knowledge of document management . First Create two file handles , A binary information for reading remote pictures , Another one is used to save picture information .<?php
$imgFile = '
$imgName = trim(strrchr($imgFile, '/'), '/');
// Read remote image resources
$source = fopen($imgFile, 'rb');
// Create a local file resource handle , Used to save picture information
$down = fopen($imgName, 'wb');
while ($chunk = fread($source,1024)){
fwrite($down, $chunk, 1024);
}
fclose($source);
fclose($down);
边栏推荐
- 数据治理:误区梳理篇
- Document 2 Feb 12 16:54
- Summary of Digital IC design written examination questions (I)
- [computer skills]
- C # connect to SQLite database to read content
- shu mei pai
- Vit (vision transformer) principle and code elaboration
- How can word delete English only and keep Chinese or delete Chinese and keep English
- 超级浏览器是指纹浏览器吗?怎样选择一款好的超级浏览器?
- [MySQL learning notes 30] lock (non tutorial)
猜你喜欢
Description of octomap averagenodecolor function
[CF Gym101196-I] Waif Until Dark 网络最大流
Leecode-c language implementation -15 Sum of three ----- ideas to be improved
Do you really think binary search is easy
octomap averageNodeColor函数说明
[1. Delphi foundation] 1 Introduction to Delphi Programming
Pre knowledge reserve of TS type gymnastics to become an excellent TS gymnastics master
[nonlinear control theory]9_ A series of lectures on nonlinear control theory
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
leecode-C语言实现-15. 三数之和------思路待改进版
随机推荐
esRally国内安装使用避坑指南-全网最新
Generator Foundation
Scala language learning-08-abstract classes
If Jerry's Bluetooth device wants to send data to the mobile phone, the mobile phone needs to open the notify channel first [article]
C # create database connection object SQLite database
Onie supports pice hard disk
leecode-C语言实现-15. 三数之和------思路待改进版
[redis] Introduction to NoSQL database and redis
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
The way to learn go (I) the basic introduction of go to the first HelloWorld
datax自检报错 /datax/plugin/reader/._drdsreader/plugin.json]不存在
二叉树创建 & 遍历
Typescript interface properties
Launch APS system to break the problem of decoupling material procurement plan from production practice
Luogu p4127 [ahoi2009] similar distribution problem solution
Typescript interface and the use of generics
Opencv learning notes 9 -- background modeling + optical flow estimation
Google可能在春节后回归中国市场。
861. Score after flipping the matrix
链表面试题(图文详解)