共计 1397 个字符,预计需要花费 4 分钟才能阅读完成。
最近因为做ecshop商城,需要从其它网站上网上找很多图片上传到网站上,如果可以直接复制就好了。 网上找到很多关于ecshop远程图片本地化插件,结果因为各种原因都不能用,没办法,只好在原基础上修改。
[php]
/**
* 得到远程图片
*
* @access public
* @param goods_desc $goods_desc 要处理的内容
* @return mix 如果成功返回缩略图的路径,失败则返回false
*/
function GetCurContent($goods_desc)
{
$body = stripslashes($goods_desc);
$img_array = array();
//$body = ereg_replace("HTTP://".$_SERVER[‘SERVER_NAME’]."/","",$body);//将源文件进行替换
preg_match_all("/src=[\"|’|\s]{0,}(http:\/\/([^>]*)\.(gif|jpg|png))/isU",$body,$img_array);
$img_array = array_unique($img_array[1]);
set_time_limit(0);
$imgurl = IMAGE_DIR."/".date(‘Ym’)."/body";
$imgpath = ROOT_PATH.$imgurl;
$millisecond = date("YmdHms");
if (!file_exists($imgpath))
{
if (!make_dir($imgpath))
{
return false;
}
}
else
{
foreach($img_array as $key =>$value)
{
$value = trim($value);
$get_file = @file_get_contents($value);
$rndfilename = $imgpath."/".$millisecond.$key.".".substr($value,-3,3);
//$fileurl = "HTTP://".$_SERVER[‘SERVER_NAME’]."/".$imgurl."/".$millisecond.$key.".".substr($value,-3,3);
$fileurl = "/".$imgurl."/".$millisecond.$key.".".substr($value,-3,3);
if($get_file)
{
$fp = @fopen($rndfilename,"w");
@fwrite($fp,$get_file);
@fclose($fp);
}
//echo $rndfilename."<br/>".$fileurl."<br/>";
$body = ereg_replace($value,$fileurl,$body);
}
}
$body = addslashes($body);
//print_r($body);
//exit();
return $body;
}
调用方式:
在goods.php中,把所有$_POST[‘goods_desc’]改成GetCurContent($_POST[‘goods_desc’])
当然,最后先用变量存起来,然后直接用就行了
[/php]
或者下载插件:http://download.csdn.net/detail/sun04zh3/5872943