<?php
$images = [
'https://img-bss.csdn.net/201803221104361038.jpg',
'https://img-bss.csdn.net/201803160733066661.jpg',
'https://img-bss.csdn.net/201803021048506879.jpg',
];
function download($url, $path = 'images/')
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
$file = curl_exec($ch);
curl_close($ch);
$filename = pathinfo($url, PATHINFO_BASENAME);
$resource = fopen($path . $filename, 'a');
fwrite($resource, $file);
fclose($resource);
}
foreach ( $images as $url ) {
download($url);
}
class Spider {
// public function downloadImage($url, $path = 'images/')
// {
// $ch = curl_init();
// curl_setopt($ch, CURLOPT_URL, $url);
// curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
// $file = curl_exec($ch);
// curl_close($ch);
// $filename = pathinfo($url, PATHINFO_BASENAME);
// $resource = fopen($path . $filename, 'a');
// fwrite($resource, $file);
// fclose($resource);
// }
public function downloadImage($url, $path='images/')
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
$file = curl_exec($ch);
curl_close($ch);
$this->saveAsImage($url, $file, $path);
}
private function saveAsImage($url, $file, $path)
{
$filename = pathinfo($url, PATHINFO_BASENAME);
$resource = fopen($path . $filename, 'a');
fwrite($resource, $file);
fclose($resource);
}
}
$spider = new Spider();
foreach ( $images as $url ) {
$spider->downloadImage($url);
}
?>