我有以下代码。
在我的主CodeIgniter PHP索引文件的基本目录中,我有一个具有权限666的目录pagemodules。
我想要做的是用以下文件名格式写入一个文件:.main.control.function.var.something.mod
要在此文件夹中动态创建文件,我使用以下代码检查文件是否存在,如果不存在,则使用单个空格创建文件。
唯一的问题是,我每次都想出失败。我已经尝试将目录移动到每个可能的目录,看看它是否是文件路径问题,但这没有帮助。 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;
}
}
}
答案 0 :(得分:2)
好吧,仅用于调试目的:
将'./pagemodules/
替换为'FCPATH.'pagemodules/
以获取页面模块的绝对路径(如果它位于index.php codeigniter目录中)。
为避免路径无效,您可以使用...
get_filenames('path/to/pagemodules/')
...获取文件并证实它是否正确。此函数返回并带有文件名的数组。
请记住,您可以使用FCPATH
常量来获取Codeigniter安装的绝对路径。