PHP函数在localhost上运行,但在我的服务器上运行

时间:2012-07-14 15:37:23

标签: php mysql json function webserver

在.php页面中,我有以下功能。在localhost中,JSON响应不同于NULL,但是当我将页面放在服务器(FTP)上时,JSON响应为NULL。

代码

// Check for required parameters
if (isset($_POST["placetype"]) && isset($_POST["placeName"])) {
  $pt = $_POST["placetype"];
  $pn = $_POST["placeName"];
  $dir = 'Pictures/Attractions/'.$pt.'/'.$pn.'/';
  $files = scandir($dir);
  foreach($files as $ind_file) {
    $result[] = array(
      "data" => $ind_file
    );
  sendResponse(200, json_encode($result));
  return true;
}//ifisset
sendResponse(400, 'Invalid request');
return false;

注意:本地和服务器上都有相同的文件夹。

感谢。

2 个答案:

答案 0 :(得分:1)

我猜你的服务器上的PHP安装不是最新的。 json_encode()仅适用于PHP 5> = 5.2.0。

答案 1 :(得分:1)

见这个

$files = scandir($dir);

如果$ dir中没有文件,则变量$ result将不会创建并且不会保留任何内容,json将返回null。在远程服务器上,您没有文件,json_encode返回null