欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

[求助]$body = ereg_replace( $value, $fileurl, $body )

程序员文章站 2022-05-29 19:29:35
...
php 变量 ereg_replace
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的用法是什么意思?

回复讨论(解决方案)

$body 只会让程序出错!

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

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

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

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

感觉好像原来是写在一起的

$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;


但是后来封装的时候,直接一股脑的弄走了