0

我正在尝试在服务器中创建一个文件夹。我写了以下代码

function CreateErrorLog($IntegrationId, $errorStr){

    if (!is_dir(PUBLIC_PATH.'/errors/'.$IntegrationId)) {

        echo 'not present<br/><br/>';
        try{
                mkdir(PUBLIC_PATH.'/errors/'.$IntegrationId, 0777);
        }catch(Exception $e){
            echo '<br/><br/> exception----'.$e.'<br/><br/>';
            print_r($e);
        }

    }else{
        echo 'present<br/><br/>';

    }
}

我得到输出“不存在”,但我看不到在“错误”文件夹下以 $IntegrationId 的名称创建的目录。这在本地主机中工作。移动到远程服务器后,我遇到了问题。问题是什么?

4

2 回答 2

0

首先检查您的路径权限是否可写。如果这很好,您必须提及绝对路径而不是 PUBLIC_PATH。您可以使用函数'echo getcwd()'获取绝对路径创建一个 php 文件。这将向您显示绝对路径。改为选择PUBLIC_PATH 的。

于 2013-01-02T07:32:20.793 回答
0

问题可能是errors文件夹可能在服务器中没有write权限

如果没有权限,它不会通过任何异常。

将 mkdir 置于 if() 条件中。所以你会从返回值来理解。

并放在ini_set('display_errors', 1);您的代码之上。

于 2013-01-02T07:28:07.403 回答