在yii 1.1.14中CFileHelper :: createDirectory undefiend的任何解决方法?

时间:2017-04-28 15:38:44

标签: yii

我在服务器中遇到mkdir权限被拒绝错误的问题。 所以我没有使用mkdir,而是改变了我的代码并使用了CFileHelper :: createDirectory。

CFileHelper::createDirectory('pathOfDirectory'.'/'.777,true)

它确实在我的本地使用1.1.16 ..但是当我把它推到服务器时。功能未定义。我不知道这个功能在Yii 1.1.14中是否真的不存在。因为我们的实时服务器使用此版本。对此有何解决方案?鉴于这种情况我不允许chmod或在服务器中创建一个目录,只让应用程序以编程方式自己创建目录

2 个答案:

答案 0 :(得分:0)

我发现您输入错误的问题。请尝试以下方法:

CFileHelper::createDirectory('pathOfDirectory'.'/', 777, true);

无论如何,如果你看一下createDirectory()函数的实现,你会发现,这只不过是mkdirchmod

public static function createDirectory($dst,$mode=null,$recursive=false)
{
    if($mode===null)
        $mode=0777;
    $prevDir=dirname($dst);
    if($recursive && !is_dir($dst) && !is_dir($prevDir))
        self::createDirectory(dirname($dst),$mode,true);
    $res=mkdir($dst, $mode);
    @chmod($dst,$mode);
    return $res;
}

因此,除了您的网络用户和您的ssh用户可能不同之外,实际上没有区别。

答案 1 :(得分:0)

我做的解决方法,我创建了一个PHP类,将它放在组件目录中并扩展了CFileHelper.php ...然后从那里,我添加了Yii 1.1.14中不存在的createDirectory()函数。 ..解决了问题:D