热搜:NVER node 开发 php

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

2024-09-14 19:25:01
[求助]$body = ereg_replace( $value, $fileurl, $body )

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;


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