自己尝试的
header("content-type:text/html;charset=utf-8"); $search = array(" ", " ", "\n", "\r", "\t"); $replace = array("", "", "", "", ""); $merchant_num = str_replace($search, $replace, $_REQUEST['merchant_num']); //过滤换行空格等 if (IS_POST) { $merchant_num_array = array_filter(explode(',', $merchant_num)); if (count($merchant_num_array) == 0) { echo json_encode(['code' => 1, 'msg' =>"请填写门店编号"]); exit; } if (count($merchant_num_array) > 100) { echo json_encode(['code' => 1, 'msg' => "最多支持100家转换"]); exit; } foreach ($merchant_num_array as $key => $val) { if (strlen($val) != 15) { echo json_encode(['code' => 1, 'msg' => "门店编号" . $val . "不正确"]); exit; } } $where['merchant_num'] =array('in',$merchant_num_array); $merchant_bank22 = M('merchant_bank22', 'pay_', 'DB_CONFIG3')->field('store_img,merchant_num,merchant_name')->where($where)->select(); foreach ($merchant_bank22 as $key22=>$val22){ if($val22['store_img']){ $url = "https://posppay.020leader.com".$val22['store_img']; $filename = "images22/".$merchant_bank22['merchant_num'].'/'.$val22['merchant_name'].".jpg"; $filename=iconv("utf-8","gbk",$filename); if ($url == "") return false; if ($filename == "") { $ext = strrchr($url, "."); if ($ext != ".gif" && $ext != ".jpg" && $ext != ".png" && $ext != "jpeg") return false; $filename = date("YmdHis") . $ext; } ob_start(); //make file that output from url goes to buffer readfile($url); //file_get_contents($url); 这个方法不行的!!!只能用readfile $img = ob_get_contents(); ob_end_clean(); $fp = @fopen($filename, "a"); //append fwrite($fp, $img); fclose($fp); } }
网上找的
<?php
/*完成网页内容捕获功能*/
function get_img_url($site_name){
$site_fd = fopen($site_name, "r");
$site_content = "";
while (!feof($site_fd)) {
$site_content .= fread($site_fd, 1024);
}
/*利用正则表达式得到图片链接*/
$reg_tag = '/<img.*?\"([^\"]*(jpg|bmp|jpeg|gif)).*?>/';
$ret = preg_match_all($reg_tag, $site_content, $match_result);
fclose($site_fd);
return $match_result[1];
}
/* 对图片链接进行修正 */
function revise_site($site_list, $base_site){
foreach($site_list as $site_item) {
if (preg_match('/^http/', $site_item)) {
$return_list[] = $site_item;
}else{
$return_list[] = $base_site."/".$site_item;
}
}
return $return_list;
}
/*得到图片名字,并将其保存在指定位置*/
function get_pic_file($pic_url_array, $pos){
$reg_tag = '/.*\/(.*?)$/';
$count = 0;
foreach($pic_url_array as $pic_item){
$ret = preg_match_all($reg_tag,$pic_item,$t_pic_name);
$pic_name = $pos.$t_pic_name[1][0];
$pic_url = $pic_item;
print("Downloading ".$pic_url." ");
$img_read_fd = fopen($pic_url,"r");
$img_write_fd = fopen($pic_name,"w");
$img_content = "";
while(!feof($img_read_fd)){
$img_content .= fread($img_read_fd,1024);
}
fwrite($img_write_fd,$img_content);
fclose($img_read_fd);
fclose($img_write_fd);
print("[OK] ");
}
return 0;
}
function main(){
/* 待抓取图片的网页地址 */
$site_name = "http://www.jb51.net/sheying/391528.html";
$img_url = get_img_url($site_name);
$img_url_revised = revise_site($img_url, $site_name);
$img_url_unique = array_unique($img_url_revised); //unique array
get_pic_file($img_url_unique,"./");
}
main();
?>