php下载文件简单实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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);

$this->saveAsImage($url, $file, $path);
}

private function saveAsImage($url, $file, $path)
{
$filename = pathinfo($url, PATHINFO_BASENAME);

if(!file_exists($path)){
mkdir($path,0777);
}

$resource = fopen($path . $filename, 'a');
fwrite($resource, $file);
fclose($resource);
}
}


$str = file_get_contents("http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US");
$arr = json_decode($str,true);

$img_url = 'http://www.bing.com'.$arr['images'][0]['url'];
$img = new Spider();
$img->downloadImage($img_url);