PHP问题,在本地测试时正确的,但是上传至服务器后就不正确了。我是把把本地数据库导出,再导入到服务器,错误提示信息是Parse error: syntax error, unexpected T_FUNCTION in /home/wwwroot/townle/public_html/townle_yuncart/include/admin/dumpdb.class.php on line 92。,下面我贴出代码,希望大神能帮忙一下 (第92行是 $lines = array_filter(file($file),function($line){)先奉上100分。
/**
*
* 导入备份文件
*
*/
function import() {
$file = $this->sqlfiledir . "/".$this->filename . "_".$this->vol.".sql" ;
if(!is_file($file)) return false;
$lines = array_filter(file($file),function($line){
return substr($line,0,2) != "/*";
});
$sqlstr = str_replace("\r",'',implode('',$lines));
$ret = explode(";\n",$sqlstr);
$ret_count = count($ret);
for($i =0;$i < $ret_count;$i++) {
$sql = rtrim($ret[$i],"\r\n;");
if(!$sql) continue;
//删除不符合条件的记录
if( preg_match("/(?:DROP TABLE IF EXISTS|CREATE TABLE|INSERT INTO) `(.+?)`/",$sql,$matches) && !in_array($matches[1],$this->exclude) ) {
DB::getDB()->query($sql);
}
}
return true;
}
/**
*
* 处理null
*
*/
你使用了匿名函数,这个特性只有php 5.3以上版本才支持
你可以检查一下本地和服务器上的php版本对比一下本回答被提问者采纳
你将这个 打印出来 再跟你本地的比较一下 应该就明白了的! 服务器上的目录 跟 本地肯定不相同,希望能帮助你