<?php
$conn = mysql_connect("127.0.0.1","root","123456") or die("无法连接数据库");
@mysql_query("SET character_set_connection=utf8, character_set_results=utf8, character_set_client=binary",$conn);
mysql_select_db("s517",$conn) or die("无法连接数据库");
global $db;function getImage($url, $filename="") {
if(!$url) return false;if(!$filename) {
$ext=strrchr(strtolower($url),".") ;
if($ext!=".gif" && $ext!=".jpg" && $ext!=".png") return false;
$str=explode('/',$url) ;
$filename=$str[count($str)-1] ;
}ob_start();
readfile($url);
$img = ob_get_contents();
ob_end_clean();
$fp2=@fopen($filename, "a") ;
fclose($fp2) ;
return $filename;
}//批量下载 $result = mysql_query("SELECT itemid, thumb FROM table LIMIT 0 , 300");
while($row = mysql_fetch_array($result)) {
getImage($row["thumb"],"");
echo $row["itemid"]."输出成功";
}
?>
table里面的thumb是采集的远程图片路径
我用这个函数下载下来的图片都是0字节。
$conn = mysql_connect("127.0.0.1","root","123456") or die("无法连接数据库");
@mysql_query("SET character_set_connection=utf8, character_set_results=utf8, character_set_client=binary",$conn);
mysql_select_db("s517",$conn) or die("无法连接数据库");
global $db;function getImage($url, $filename="") {
if(!$url) return false;if(!$filename) {
$ext=strrchr(strtolower($url),".") ;
if($ext!=".gif" && $ext!=".jpg" && $ext!=".png") return false;
$str=explode('/',$url) ;
$filename=$str[count($str)-1] ;
}ob_start();
readfile($url);
$img = ob_get_contents();
ob_end_clean();
$fp2=@fopen($filename, "a") ;
fclose($fp2) ;
return $filename;
}//批量下载 $result = mysql_query("SELECT itemid, thumb FROM table LIMIT 0 , 300");
while($row = mysql_fetch_array($result)) {
getImage($row["thumb"],"");
echo $row["itemid"]."输出成功";
}
?>
table里面的thumb是采集的远程图片路径
我用这个函数下载下来的图片都是0字节。
while($row = mysql_fetch_array($result)) {
echo getImage($row["thumb"],"")."<br>";
echo $row["itemid"]."输出成功<br>";
}
<?php
$conn = mysql_connect("127.0.0.1","root","123456") or die("无法连接数据库");
@mysql_query("SET character_set_connection=utf8, character_set_results=utf8, character_set_client=binary",$conn);
mysql_select_db("s517",$conn) or die("无法连接数据库");
global $db;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);
$result = mysql_query("SELECT itemid, thumb FROM s517_sell");
while($row = mysql_fetch_array($result)) {
if(strlen($row["thumb"])>6)
{
$fileext= array_pop(explode(".", $row["thumb"])); //获取后缀名'
$newfilename = md5($row["thumb"]).".".$fileext; //文件名后加入后缀'
//echo $urlarr[$i],"-->",$newfilename,"<br>\r\n";
if(down($row["thumb"],$folder,$newfilename))
{
//echo "下载完成:",$urlarr[$i],"-->",$newfilename,"</p>\r\n";
}
}
}
?>
如果数据太多需要加超时。