一个PHP图片批量下载类

一个很简陋的东西 - - 仅仅提供学习参考 - -!


<?php
# Copyright 2010 快乐飞扬
# http://iklfy.com/ 供新手学习参考
function check_url($url){
return preg_match("/^(http|ftp)(:\/\/)([a-zA-Z0-9-_]+[\.\/]+[\w\-_\/]+.*)+$/i", $url);
}
function down($url,$folder,$filename){
error_reporting(0);
set_time_limit(0);
$argv[1] = $url;
$argv[2] = $folder;
//无参数则给出提示
if (empty($argv[1])){
echo "用法: ". $argv[1] ." 地址 [目标]<br>\r\n";
return 0;
}
//设置获取基本变量
$url = $argv[1];
echo "<p><b>下载地址:</b> ".$url."<br />";
$save_path = $argv[2] ? $argv[2] : "./";
$file_name = $filename;
$localfile = $save_path.$file_name;
echo "<b>文件路径:</b> ".$localfile."<br />";
//检查变量
if (!check_url($url)){
echo("<b>错误:下载地址 </b>". $url ." <b>无效.</b><br>\r\n");
return 0;
}
if (file_exists($localfile)){
echo ("<b>错误:本地存在 </b>". $localfile ." <b>文件.</b><br>\r\n");
return 0;
}
// 打开远程文件
$fp = fopen($url, "rb");
if (!$fp){
echo("<b>错误:下载</b>". $url ." <b>失败.</b><br>\r\n");
return 0;
}
//打开本地文件
$sp = fopen($localfile, "wb");
if (!$sp){
echo("<b>错误:打开本地文件</b>". $localfile ." <b>失败.</b><br>\r\n");
return 0;
}
//下载远程文件
echo "下载中,请等待...\r\n";
while (!feof($fp)){
$tmpfile .= fread($fp, 512);
}
//保存文件到本地
fwrite($sp, $tmpfile);
fclose($fp);
fclose($sp);
echo "下载文件 ". $file_name ." 成功!<br>\r\n";
return 1;
}
$folder = "attachment/"; //要保存文件的本地目录
if(!is_dir($folder))
mkdir($folder,0777);
?>
<?php
$html['header']=<<<eot
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>批量保存图片</title>
</head>
<body>
<form method="post">
<li><textarea name="content" rows="5" cols="50"></textarea><li>
<li><input name="submit" type="submit" /> 图片地址,每行一个.</li>
<p></p><p></p>
</form>
eot;
$html['footer']=<<<eot
</body>
</html>
eot;
?>
<?php
echo $html['header'];
$url = $_POST['content'];
$urlarr = explode("\r\n",$url );
for($i=0;$i<count($urlarr);$i++)
{

if(strlen($urlarr[$i])>6)
{


$fileext= array_pop(explode(".", $urlarr[$i])); //获取后缀名'
$newfilename = md5($urlarr[$i]).".".$fileext; //文件名后加入后缀'

//echo $urlarr[$i],"-->",$newfilename,"<br>\r\n";

if(down($urlarr[$i],$folder,$newfilename))
{
//echo "下载完成:",$urlarr[$i],"-->",$newfilename,"</p>\r\n";
}
}
}
echo $html['footer'];
?>
文章附属文件

文件名称: 20180105115104024289.png

文件大小:17.01 KB

文件签名:989BFB9F8F03203C31E74305AACFE3C95287979C

评论列表

此文章还没有评论。