日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Css图片批量下载小工具--saveimg1.5

發布時間:2023/12/8 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Css图片批量下载小工具--saveimg1.5 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

備用下載地址:http://download.csdn.net/detail/zhoumengkang/4949519

1.5只是將代碼進行有一些自以為是的優化,實際說應該是表面上的代碼量減少了,但不知道效率是不是真的提高了,當然所有我的困惑我都會做好筆記,一一消化的!

通過不斷的實際測試,我也明白了為什么別人開發軟件的時候總要修復BUG,為什么要升級了。

這段時間,收獲真的不少,不僅是以前學的一些知識的整合、鞏固,也發現了以前覺得非常不起眼的小知識點的重要性。

經常會有“哦,原來這個東西還有作用啊!(竊喜)真是太好了,這不正是我需要的嗎?”;

這段時間,心里想的只有一件事,那就是怎么樣做才能使得代碼更加高效更加簡潔。

刷牙、做夢、走路總會在無意識間就會對某個小細節想到了一種新的處理方式,或許是代碼少了1行,或許是換了一種新方法,或許是提交給下個函數的時候少了一個參數。

我都會迫不及待的打開電腦來測試,即使這然一切在別人看來是純農民工純低級的工作!

2012.12.13

1.也不知道算不算代碼優化,不知道速度上有沒有提升

-----------------------------------

mkdir_for_img.php 原代碼:

-----------------------------------

function mkdirforimg($img){$protocol='/http:\/\//';$replace='web/';$img['url']=preg_replace($protocol,$replace,$img['url']);for($i=1;$i<$img['num'];$i++){$url[$i]=$img['url'][$i];//拿出每張圖片的地址 $y[$i]=explode('/',$url[$i]);//把保存的目錄的保存到數組中去foreach($y[$i] as $key =>$value2);//獲取目錄的深度for($n=0;$n<$key;$n++){//循環的時候除去數組的最后一位(最后一位為圖片,不是文件夾)$path.=$y[$i][$n].'/';if(!file_exists($path)){if(mkdir($path,0777,true)){echo $path.'<font color="green">路徑創建成功</font><br/>';};}}$path=null;//清空$path} }
----------------------------------- mkdir_for_img.php 新代碼:

-----------------------------------

代碼簡化地方,使用foreach直接遍歷整個數組,省略了上一個版本中對數組元素個數的依賴性

也許foreach的內部代碼先對foreach進行了出棧做while判斷,然后確定其元素個數,再使用for循環;

倘若是那樣,那么我的代碼優化,速度上反而使得腳本速度更加慢了。


function mkdirforimg($img){$protocol='/http:\/\//';$replace='web/';$img=preg_replace($protocol,$replace,$img);foreach($img as $k=>$v){$a=dirname($v);if(!file_exists($a)){if(mkdir($a,0777,true)){echo $a.'<font color="green">路徑創建成功</font><br/>';};}} }

-----------------------------------

get_img_url.php 原代碼:

-----------------------------------

function getimgurl($filename,$baseurl){$file=fopen($filename,'r');while(!feof($file)){$content.=fread($file,1024);}echo '<pre>';//將整個css文件以字符串保存,然后以“url(”作為標記切割成數組$arr=explode('url(',$content);//獲取該數組的個數,即整個css文件使用到url圖片的個數(有可能有部分圖片重復,后面保存的時候再判斷排除)foreach($arr as $key =>$value);$img['num']=$key+1;for($i=1;$i<$img['num'];$i++){//取出上面數組中的每個元素$x=$arr[$i];//截取反括號前面的內容,即為圖片地址$y=explode(')',$x);//測試發現部分網站的css的url標簽中使用了""和'',要考慮到所有網站的情況,所以得刪除兩段的引號$z[$i]=trim($y[0],'"');$z[$i]=trim($z[$i],"'");//再清除圖片地址后面跟的參數,圖片后面為什么跟參數,不明白,但是例如phpwind的圖片就經常有?后面跟一些日期$param='/\?/';$res=preg_match($param,$z[$i],$match);if($res==1){$change=explode('?',$z[$i]);$z[$i]=$change[0];}#######下面需要考慮圖片地址在url的引用方法############ 1 images/xxx.jpg ###################### 2 ./images/xxx.jpg ###################### 3 ../images/xxx.jpg ###################### 4 /images/xxx.jpg ###################### 5 http://.xxx.jpg ###############$check=preg_match('/^http/',$z[$i]);if($check==1){//直接保存圖片地址$img['url']=$z[$i];}else{$check2=preg_match('/^\//',$z[$i]);if($check2==1){$z[$i]=$baseurl[1].$z[$i];//是第4種情況,直接與域名拼接}else{$z[$i]=$baseurl[0].'/'.$z[$i];//與css所在文件地址拼接}}}$a=array_unique($z);$img['url']=$a;$n=0;$b=array();foreach($a as $v){$n++;array_push($b,$n);}$img['num']=$n+1;$img['url']=array_combine($b,$a);print_r($img['url']);return $img; }

-----------------------------------

get_img_url.php 新代碼:

-----------------------------------

function getimgurl($filename,$baseurl){$file=fopen($filename,'r');while(!feof($file)){$content.=fread($file,1024);}echo '<pre>';$arr=explode('url(',$content);foreach($arr as $k => &$v){$a=explode(')',$v);$v=trim($a[0],'"');$v=trim($v,"'");$param='/\?/';$res=preg_match($param,$v,$match);if($res==1){$change=explode('?',$v);$v=$change[0];}$check=preg_match('/^http/',$v);if($check==1){//直接保存圖片地址continue;}else{$check2=preg_match('/^\//',$v);if($check2==1){$v=$baseurl[1].$v;//是第4種情況,直接與域名拼接}else{$v=$baseurl[0].'/'.$v;//與css所在文件地址拼接}}}array_shift($arr);$img=array_unique($arr);print_r($img);return $img; }

-----------------------------------

saveimg.php 原代碼:

-----------------------------------

function saveimg($img){$protocol='/http:\/\//';$replace='web/';$filename=preg_replace($protocol,$replace,$img['url']); //圖片保存路徑for($i=1;$i<$img['num'];$i++){$b=file_get_contents($img['url'][$i]);$c=file_put_contents($filename[$i],$b);if($c!==0){echo $filename[$i].'<font color="green">下載成功</font><br/>';}else{echo $filename[$i].'<font color="red">下載失敗</font><br/>';}} }

-----------------------------------

saveimg.php 新代碼:

-----------------------------------

function saveimg($img){$protocol='/http:\/\//';$replace='web/';$filename=preg_replace($protocol,$replace,$img); //圖片保存路徑foreach($img as $i=>$v){$b=file_get_contents($v);$c=file_put_contents($filename[$i],$b);if($c!==0){echo $filename[$i].'<font color="green">下載成功</font><br/>';}else{echo $filename[$i].'<font color="red">下載失敗</font><br/>';}} }



總結

以上是生活随笔為你收集整理的Css图片批量下载小工具--saveimg1.5的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。