PHP函数在一个文件中调用和分文件调用的区别

求解问路 发布于 2017/08/13 19:13
阅读 261
收藏 0

// 前台代码
function saveScreenConfig() {
    loader(" 正在保存,请稍后..."),
    saveScreenConfigList = getScreensInfo(),
    $.ajax({
        url: 'bin/setScreenConfig.php',
        type: "POST",
        timeout: null,
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify(saveScreenConfigList),
        dataType: "json",
        success: function(e, t)
        {
         if(typeof e == 'object')
         {
         if(e.result == true)
         {
          lobiboxObj.info('提交成功!')
         }
         else
         {
         lobiboxObj.warn('提交失败!错误信息:'+ e.err)
         }
         }
         else
         {
         lobiboxObj.warn('提交失败!未知返回项')
         }
         removeLoader()
        },
        error: function(e, t) 
        {
         lobiboxObj.warn('提交失败!状态码:' + e.status),
         removeLoader()
        }
    })
}

//后台代码:1:  setScreenConfig.php文件
<?php
header('Content-Type: application/json');
header("Content-type:text/html;charset=utf-8");
include ("./errorlog.php");

logError('接收到视图文件!');

$screenConfigfile  = '../data/screenconfig.dat';
$postdata = $GLOBALS['HTTP_RAW_POST_DATA'];
$datalen = strlen($postdata);              //要写文件的大小长度
$writeLen = file_put_contents($screenConfigfile,$postdata);
if($datalen==$writeLen)
{
logError('写文件成功!');
$result = array('result'=>true, 'url'=>'operating_status.htm');
$jsonstring = json_encode($result);
logError($jsonstring);
  echo $jsonstring;
}
else
{
logError('写文件失败!');
$result = array('result'=>false, 'url'=>'operating_status.htm');
$jsonstring = json_encode($result);
  echo $jsonstring;
}
?>

//后台代码2:errorlog.php文件,写日志文件
<?php
header('Content-Type: application/json');
function logError($content)  
 {  
   $logfile = '../logs/log'.date('Ymd').'.txt';  
   if(!file_exists(dirname($logfile)))  
   {  
     @File_Util::mkdirr(dirname($logfile));  
   }  
   error_log(date("[Y-m-d H:i:s]")." -[".$_SERVER['REQUEST_URI']."] :".$content."\r\n", 3,$logfile);  
 }
?>

现在的问题是,我每次执行完ajax后,返回码都是200,上面的后台写法都会进入 error: function(e, t) 函数,不知道什么原因?
但是如果我把errorlog.php文件中的logError函数直接写到setScreenConfig.php中,后代代码如下
<?php
header('Content-Type: application/json');
header("Content-type:text/html;charset=utf-8");
//include ("./errorlog.php");
//header("Content-type:text/html;charset=utf-8");

function logError($content)  
 {  
   $logfile = '../logs/log'.date('Ymd').'.txt';  
   if(!file_exists(dirname($logfile)))  
   {  
     @File_Util::mkdirr(dirname($logfile));  
   }  
   error_log(date("[Y-m-d H:i:s]")." -[".$_SERVER['REQUEST_URI']."] :".$content."\r\n", 3,$logfile);  
 }

logError('接收到视图文件!');

$screenConfigfile  = '../data/screenconfig.dat';
$postdata = $GLOBALS['HTTP_RAW_POST_DATA'];
$datalen = strlen($postdata);              //要写文件的大小长度
$writeLen = file_put_contents($screenConfigfile,$postdata);
if($datalen==$writeLen)
{
logError('写文件成功!');
$result = array('result'=>true, 'url'=>'operating_status.htm');
$jsonstring = json_encode($result);
logError($jsonstring);
  echo $jsonstring;
}
else
{
logError('写文件失败!');
$result = array('result'=>false, 'url'=>'operating_status.htm');
$jsonstring = json_encode($result);
  echo $jsonstring;
}
?>
然后执行,其它都不懂,就返回正确,执行成功success: function(e, t)。
这两种写法有和区别?

加载中
0
iclubs
iclubs

请先将代码对齐缩进!

返回顶部
顶部