PHP函数在本地主机上运行,但不在我的服务器上运行


PHP function run on localhost but not on my server

在.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;

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

谢谢。

查看此

$files = scandir($dir);

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

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