1

我有下面的代码。在我的主要 CodeIgniter PHP 索引文件所在的基本目录中,我有一个权限为 666 的目录 pagemodules。我想要做的是在其中写入以下文件名格式的文件:.main.control.function.var.something.mod

要在此文件夹中动态创建文件,我使用以下代码检查文件是否存在,如果不存在,则在其中创建一个空格。

唯一的问题是,我每次都失败了。我尝试将 dir 移动到每个可能的目录中,以查看它是否是文件路径问题,但这没有帮助。CodeIgniter wiki 也没有太大帮助,因为它没有提供有关如何从文件帮助程序诊断错误的指示。并且没有任何错误被抛出......

我怎样才能让 CodeIgniter 抛出一个我可以处理的错误?

我可以开始使用fopen,但我更喜欢使用 CodeIgniter,因为它易于使用。

error_reporting(E_ALL);
ini_set("display_errors", 1);
$this->load->helper('file');
if($createfile!=null)
{
    $filepath = './pagemodules/'.str_replace('/','.',$data['page']->url).'.mod';
    $file = read_file($filepath);
    if($file === false)
    {
        $test = write_file($filepath,' ','w+'); 
        if($test)
        {
            echo "we have written $filepath";
        }
        else
        {
            echo 'fail '.$filepath;
        }
    }
}
4

1 回答 1

2

好吧,仅用于调试目的:

替换'./pagemodules/'FCPATH.'pagemodules/以获得页面模块的绝对路径(如果它位于 index.php codeigniter 目录)。

为避免无效路径,您可以使用...

get_filenames('path/to/pagemodules/')

...获取它的文件并确认它是否正确。此函数返回并带有文件名的数组。

请记住,您可以使用FCPATH常量来获取 Codeigniter 安装的绝对路径。

于 2012-07-27T11:53:53.903 回答