function remoteimg($imgurl) {
    import('@.ORG.Session');//不在文件头部需包含Session
    $mid = Session::get('mid');//获取mid
    //文件保存目录路径
    $imgPath = "/Uploads/$mid".date( 'Ymd' ).'/files/';//当前日期文件夹url
    dir_create($imgPath);//创建这个目录
    //文件保存目录URL
    $imgUrl = __ROOT__.'/'.  $imgPath;//取当前文件下配置的root参数值
    set_time_limit( 0 );//代码执行时间限制,为0无限制知道程序执行完毕
    $milliSecond = date( "dHis" ) . '_';//记录当前的日期时间分数秒数
    if ( !is_dir( $imgPath ) ) @mkdir( $imgPath, 0777 );//目录不存在则创建目录(完全权限)
    $value = trim( $imgurl );//去除图片地址两头的空格
    $get_file = @file_get_contents( $value );//获取图片数据
    $rndFileName = $imgPath.$milliSecond.$key.'.'.substr( $value, -3, 3 );//在当天图片路径下生成文件路径 ????$key????
    $fileurl = $imgUrl.$milliSecond.$key.'.'.substr( $value, -3, 3 );//在root路径下生成文件路径
    if ( $get_file ) {//如果已经取得文件
      $fp = @fopen( $rndFileName, 'w' );//创建路径、文件
      @fwrite( $fp, $get_file );//写入图片数据
      @fclose( $fp );//关闭写入数据流
      $body = ereg_replace( $value, $fileurl, $body );//检查$body中是否有与value匹配的字符串,有的话用fileurl替换掉
    }
    echo $body;
}
如题:谁能解释下这个方法的功能是什么?
$body的用法是什么意思?php变量ereg_replace

解决方案 »

  1.   

    PHP官网说了,未经初始化的变量使用会报错。但是这个方法是什么功能呢?我加上了所有注释,但是恁是不懂他想干什么
      

  2.   

    要不是你没有贴全代码
    要不就是作者遗留的调试代码,函数里直接 echo $body; 并不是正常做法
      

  3.   

    函数的功能应该是 下载图片保存到网站本地
    body 猜测是把别的网站源码下下来,并且里面的图片也下载之后,将原图片地址替换为本站地址
    不过这里的程序是有问题的,应该像
      

  4.   

    感觉好像原来是写在一起的$body = 获取内容.....remoteimg 的内容省略
    if ( $get_file ) {//如果已经取得文件
          $fp = @fopen( $rndFileName, 'w' );//创建路径、文件
          @fwrite( $fp, $get_file );//写入图片数据
          @fclose( $fp );//关闭写入数据流
          $body = ereg_replace( $value, $fileurl, $body );//检查$body中是否有与value匹配的字符串,有的话用fileurl替换掉
        }
        echo $body;但是后来封装的时候,直接一股脑的弄走了