PHP批量获取css中的图片

 
更多




批量获取css中的图片


批量获取css中的图片
css文件地址:

保存至:

&$value ) { if ($value == '..') { for($i = $key - 1; $i > - 1; $i --) { if (! empty ( $arrUri [$i] )) { $arrUri [$i] = ''; break; } } $value = ''; } } $arrUri = array_flip ( array_flip ( $arrUri ) ); if (substr ( $uri, - 1, 1 ) == '/') array_push ( $arrUri, '' ); $arrUrlCurrent ['path'] = implode ( $pathSeparator, $arrUri ); return $arrUrlCurrent; } /*合并由parse_url分析的数组(没有考虑用户名密码)*/ function parse_url_join($arr) { $out = array (); if (! empty ( $arr ['scheme'] )) { array_push ( $out, $arr ['scheme'] . '://' ); } if (! empty ( $arr ['host'] )) { array_push ( $out, $arr ['host'] ); } if (! empty ( $arr ['port'] )) { array_push ( $out, ':' . $arr ['port'] ); } if (! empty ( $arr ['path'] )) { array_push ( $out, $arr ['path'] ); } if (! empty ( $arr ['query'] )) { array_push ( $out, '?' . $arr ['query'] ); } if (! empty ( $arr ['fragment'] )) { array_push ( $out, '#' . $arr ['fragment'] ); } return implode ( '', $out ); } ////输出:http://www.haihun.cn/ddd/ //echo parse_url_join(parse_uri('/blog/../fuck/../../ddd/bbb/../','http://www.sman.cn/')),'
'; // ////输出:http://www.1344.cn/blog //echo parse_url_join(parse_uri('blog/','http://www.sman.cn/')),'
'; // ////输出:http://www.sman.cn/dd/index.asp //echo parse_url_join(parse_uri('../dd/./index.asp','http://www.sman.cn/blog/')),'
'; // ////输出:http://www.sman.cn/fuck/1.asp //echo parse_url_join(parse_uri('1.asp','http://www.sman.cn/blog/../fuck/')),'
'; /*******************************************/ function my_substr($a, $b) { $a = explode ( $b, $a ); return $a ['0']; } $css_url = $_POST ['css']; //远程从上述文件地址 $save_dir = empty ( $_POST ['save_dir'] ) ? "download" : $_POST ['save_dir']; if (! empty ( $css_url )) { $save_dir = dirname ( __FILE__ ) . "\\" . $save_dir; set_time_limit ( 0 ); $cssfile = file_get_contents ( $css_url ); preg_match_all ( "/url\((.*)\)/", $cssfile, $imgurls ); $imgurls = array_unique ( $imgurls [1] ); foreach ( $imgurls as $img ) { $file_name = my_substr ( basename ( $img ), ')' ); //获取文件名字 $img_src = parse_url_join ( parse_uri ( $img, $css_url ) ); //合成文件地址 $img_src = my_substr ( $img_src, ')' ); if (@$file_stream = file_get_contents ( $img_src )) { if (! is_dir ( $save_dir )) { mkdir ( $save_dir ); } $file_path = my_substr ( $save_dir . "\\" . $file_name, '?' ); if (! file_put_contents ( $file_path, $file_stream )) { echo "

保存[" . $file_path . "]出错,请检查是否有写入权限!

"; } else { //echo "

"; $dir = pathinfo ( $save_dir ); $success [] = $dir ['basename'] . "/" . $file_name; } } else { //echo "

远程读取[" . $img_src . "]出错

"; $failure [] = $img_src; } } if (! empty ( $success )) { echo "

成功获取以下文件,并保存至( $save_dir )

"; foreach ( $success as $suc ) { echo "

"; } } else { echo "

没有获取到任何图片地址!

"; } echo "
"; if (! empty ( $failure )) { foreach ( $failure as $fai ) { echo "

远程读取[" . $fai . "]出错

"; } } } else { echo "

请先输入正确的CSS路径!

"; } ?>
打赏

本文固定链接: https://www.cxy163.net/archives/200 | 绝缘体

该日志由 绝缘体.. 于 2012年01月27日 发表在 首页 分类下,
原创文章转载请注明: PHP批量获取css中的图片 | 绝缘体

报歉!评论已关闭.