zoukankan      html  css  js  c++  java
  • 识别字符串中的外链图片,下载存到本地,并替换图片地址

    define('UPLOAD_IMG_PATH','./wordpress/');
    //$str = 'sdasda <img src="http://news.xinhuanet.com/forum/2012-07/12/123399677_31n.jpgsdasd" />';
    function lx_findPicAndDownload($str){
    	preg_match_all('/http://([^/]+/)+[^.]+.(jpg|png|gif)/i',$str, $out);
    	for($i=0;$i<count($out[0]);$i++){
    		$new_file = lx_downloadAndSaveFile($out[0][$i],$out[2][$i]);
    		if($new_file){
    			$str = str_replace($out[0][$i],$new_file,$str);
    		}
    	}
    	return $str;
    }
    function lx_downloadAndSaveFile($name, $ext, $tried_count=0){
    	if($tried_count>2) return;
    	$file = file_get_contents($name);
    	if($file){
    		$path = '/wp-content/uploads/'.date('Y/m').'/'.lx_randFileName($ext);
    		file_put_contents(UPLOAD_IMG_PATH.$path, $file);
    		//file_put_contents('/tmp/log1.txt',UPLOAD_IMG_PATH.$path);
    		return $path;
    	}else{
    		sleep(3);
    		return lx_downloadAndSaveFile($name, $ext, ++$tried_count);
    	}
    }
    function lx_randFileName($ext){
    	return date('YmdHis').floor(rand(10000,99999)).'.'.substr(trim($ext),-3);
    }

  • 相关阅读:
    java final计算
    浅析Java中的final关键字
    easyui
    Java:类与继承
    java中&和&&
    XML
    JSON
    SQL
    selenium
    Metasploit
  • 原文地址:https://www.cnblogs.com/lein317/p/5067570.html
Copyright © 2011-2022 走看看