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 只会让程序出错! 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;