Home Backend Development PHP Tutorial Grab and download the php code of all image files in CSS

Grab and download the php code of all image files in CSS

Nov 30, 2016 pm 01:39 PM
css

The highlight of this article is that the regular expression is more complicated, ?(-_-)?, and then there is a very powerful use of the Copy function.
> By the way, I just heard NsYta say that Xiao Xie’s theme is too white, which is ridiculous. I'm too busy recently and don't have time, otherwise I would create a new theme myself.

1. Capture images in CSS:
> 1. First make preparations:
> The first step is to save the original path of the CSS into the $url variable, and then save the content of the CSS in abc .css.
> Considering that multiple CSS files are often encountered, Xiaoxie did not directly fill in a CSS path.
> Instead, merge the contents of several CSS files together and stuff them all into the abc.css file. Quack.

$data = file_get_contents('abc.css');

> Then read the contents of the CSS file into the $data variable, and then use regular expressions to extract the domain name.
> Because it is considered that many image files use relative root paths, such as /img/1.gif and img/1.gif.
> Then the original address of CSS is http://www.bitsCN.com/css/, so the locations of the two files above are different.

> The first file is at /upload/201109/20110926143903807.gif, because its path uses a relative root path.
> And the second one is at /upload/201109/20110926143903169.gif, and its path is just a normal relative path.
Copy the code The code is as follows:
$url = 'http://www.bitsCN.com/css/'; preg_match('/(.*//.*?)//',$url,$host);
//Use regular expressions to extract http://www.bitsCN.com/ here. Don’t forget to add a slash in the backend.
//.*? is lazy matching, that is, the less content it can match, the less content it can match, so that it will not be overdone.
$host = $host[1];

2. Create the image storage folder:
> Xiaoxie used is_dir here to determine whether the folder exists. If it exists, there is no need to create it a second time.
> Haha, by the way, the is_file function can determine whether this file is a normal file and whether it exists.
> But file_exists() is superior, because I saw someone discussing it on Webmasterworld.com once.

if (!is_dir('img')) { mkdir('img'); }

> 3. Use regular expressions to get the relative address of the image:

$regex = '/url('{0, 1}"{0,1}(.*?)'{0,1}"{0,1})/';
//Here we use regular expressions to match the image address. Three situations need to be considered, namely url( 1.gif) url('1.gif') url("1.gif").
//These three writing methods can all be used, so let’s use the above regular rules to take out the 1.gif inside.
//'{0,1} means that single quotes may appear 1 or 0 times, " means that double quotes may appear 1 or 0 times.
//Lazy matching must be used in the middle, otherwise the result will be 1.gif " Instead of 1.gif bird, O(∩_∩)P.
preg_match_all($regex,$data,$result);

> 4. Process these images:

> First use a loop to process the first branch content array extracted using regular expressions.
> Well, the first branch here represents the first bracket in the regular expression, haha, and so on.

foreach ($result[1] as $val) { }

> Then use regular expressions to determine, because you also need to consider this /upload/201109/20110926143903807.gif.
> This uses the complete path instead of /img/1.gif or img/1.gif like others.
> So judge it separately, and then judge these two to see if it is /img/1.gif or img/1.gif.
Copy the code The code is as follows:
if (preg_match('/^http.*/',$val)) { $target = $val; }
else if (preg_match('/^/.*/',$val) ) { $target=$host.$val; }
else { $target=$url.$val; }
echo $target."
rn";

> Finally, take out the file name, That is, 1.gif in /img/1.gif is used to save files.
Copy code The code is as follows:
preg_match('/.*/(.*.D+)$/',$val,$name);

> Then we can start downloading, here we will introduce a powerful Copy Function usage.
Copy the code The code is as follows:
if (!is_file('./img/'.$name[1])) {
$imgc = file_get_contents($target);
$handle = fopen('./img/'. $name[1],'w+');
fwrite($handle,$imgc);
fclose($handle);
}

> The above is our old method, quack, it is very troublesome. One time, Xiao Xie suddenly discovered the power of Copy.
> Copy can actually be downloaded, so you can easily use the following code to process it, and the above one can be retired.
Copy code The code is as follows:
if (!is_file('./img/'.$name[1])) {
copy($target,'./img/'.$name[1]);
}

> 5. Complete source code:

> Just fill in $url when using it, and then save all CSS content to abc.css.
Copy the code The code is as follows:
$url = 'http://www.bitsCN.com/css/';
$data = file_get_contents('abc.css');
preg_match('/(. *//.*?)//',$url,$host);
$host = $host[1];
if (!is_dir('img')) { mkdir('img'); }
$ regex = '/url('{0,1}"{0,1}(.*?)'{0,1}"{0,1})/';
preg_match_all($regex,$data,$result );
foreach ($result[1] as $val) {
if (preg_match('/^http.*/',$val)) { $target = $val; }
else if (preg_match('/^ /.*/',$val)) { $target=$host.$val; }
else { $target=$url.$val; }
echo $target."
rn";
preg_match('/.*/(.*.D+)$/',$val,$name);
if (!is_file('./img/'.$name[1])) {
copy($target ,'./img/'.$name[1]);
}
}?>

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to use bootstrap in vue How to use bootstrap in vue Apr 07, 2025 pm 11:33 PM

Using Bootstrap in Vue.js is divided into five steps: Install Bootstrap. Import Bootstrap in main.js. Use the Bootstrap component directly in the template. Optional: Custom style. Optional: Use plug-ins.

The Roles of HTML, CSS, and JavaScript: Core Responsibilities The Roles of HTML, CSS, and JavaScript: Core Responsibilities Apr 08, 2025 pm 07:05 PM

HTML defines the web structure, CSS is responsible for style and layout, and JavaScript gives dynamic interaction. The three perform their duties in web development and jointly build a colorful website.

Understanding HTML, CSS, and JavaScript: A Beginner's Guide Understanding HTML, CSS, and JavaScript: A Beginner's Guide Apr 12, 2025 am 12:02 AM

WebdevelopmentreliesonHTML,CSS,andJavaScript:1)HTMLstructurescontent,2)CSSstylesit,and3)JavaScriptaddsinteractivity,formingthebasisofmodernwebexperiences.

How to set up the framework for bootstrap How to set up the framework for bootstrap Apr 07, 2025 pm 03:27 PM

To set up the Bootstrap framework, you need to follow these steps: 1. Reference the Bootstrap file via CDN; 2. Download and host the file on your own server; 3. Include the Bootstrap file in HTML; 4. Compile Sass/Less as needed; 5. Import a custom file (optional). Once setup is complete, you can use Bootstrap's grid systems, components, and styles to create responsive websites and applications.

How to write split lines on bootstrap How to write split lines on bootstrap Apr 07, 2025 pm 03:12 PM

There are two ways to create a Bootstrap split line: using the tag, which creates a horizontal split line. Use the CSS border property to create custom style split lines.

How to insert pictures on bootstrap How to insert pictures on bootstrap Apr 07, 2025 pm 03:30 PM

There are several ways to insert images in Bootstrap: insert images directly, using the HTML img tag. With the Bootstrap image component, you can provide responsive images and more styles. Set the image size, use the img-fluid class to make the image adaptable. Set the border, using the img-bordered class. Set the rounded corners and use the img-rounded class. Set the shadow, use the shadow class. Resize and position the image, using CSS style. Using the background image, use the background-image CSS property.

How to use bootstrap button How to use bootstrap button Apr 07, 2025 pm 03:09 PM

How to use the Bootstrap button? Introduce Bootstrap CSS to create button elements and add Bootstrap button class to add button text

How to resize bootstrap How to resize bootstrap Apr 07, 2025 pm 03:18 PM

To adjust the size of elements in Bootstrap, you can use the dimension class, which includes: adjusting width: .col-, .w-, .mw-adjust height: .h-, .min-h-, .max-h-

See all articles