【问题标题】:Can not able to create directory in host server无法在主机服务器中创建目录
【发布时间】:2013-01-02 07:25:22
【问题描述】:

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

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 的名称创建的目录。 这在本地主机中工作。移动到远程服务器后,我遇到了问题。有什么问题?

【问题讨论】:

  • 请检查服务器中errors文件夹的权限
  • 谢谢。错误文件夹在服务器中的权限为 777
  • 对不起。我从 filezilla 添加了 777 权限,但它没有正确执行。它给出错误“500 'SITE CHMOD 777 错误':命令不理解”
  • 您好,我从filezilla 论坛了解到windows 服务器不支持chmode。它必须是 unix/linux 服务器forum.filezilla-project.org/viewtopic.php?f=2&t=4659

标签: php host mkdir


【解决方案1】:

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

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

将 mkdir 置于 if() 条件中。所以你从返回值就明白了。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-28
      • 1970-01-01
      • 2017-12-14
      相关资源
      最近更新 更多