简单的例子
<?php
$reg = "#<img[^>]+src=(['\"])(.+)\\1#isU";
$url = "http://www.163.com";
$content = file_get_contents($url);
preg_match_all($reg, $content, $m);
foreach($m[2] as $src)
{
$data = file_get_contents($src);
file_put_contents('img/'.basename($src), $data);
}
?>

解决方案 »

  1.   

    //$str="<img src=http://www.
    20061209093236509.jpg>hkjfghjfghjsdufauysdhgfyasdfguygyu";
    preg_match("/<img[^>]+src=(['\"])(.+)\\1/isU",$str, $matches);
    //print_r($matches);
    $imgurl=$matches[1].".".$matches[2];$filename=basename($imgurl);
    $dir="autodownpic";
    if(!is_dir($dir)){
      mkdir($dir);
    }
    $filename=$dir."/".$filename;
    //####保存图片####
     ob_start(); 
    readfile($imgurl); 
    $img = ob_get_contents(); 
    ob_end_clean(); 
    $fp=@fopen($filename, "a"); 
    fwrite($fp,$img); 
    fclose($fp);
    $LPATH = "http://";
    $LPATH .= $_SERVER["HTTP_HOST"];//主机名
    $LPATH .= dirname($_SERVER["REQUEST_URI"]);//路径
    $newimg = $LPATH."/".$filename;
    echo $newimg;
    //######执行文件名替换######
    preg_replace($imgurl, $newimg, $str);
    我要把图片的路径换成我服务器的地址,怎么上面的程序还是不行??
    错在哪里?