文件在php中创建错误

时间:2012-08-09 23:12:31

标签: php file file-permissions

我正在使用php函数创建文件,但它无法正常工作。我创建了该文件夹并设置了其权限0777,但它没有创建该文件。

我正在使用以下代码。请告诉我出了什么问题。

   $cachefile ='/cache/cache.text';
   $file=chmod($cachefile, 777);
   if (file_exists($file)) {
    include($file); 
    } else{
   $fp = fopen('/cache/cache.txt', 'w');    
   fwrite($fp, ob_get_contents());
   fclose($fp);
    ob_end_flush();

对于ob_get_contents()函数我正在使用ob_start()函数。如果我手动创建文件,它正在工作并显示缓冲数据.Plz让我知道如何使用fopen函数创建文件。

1 个答案:

答案 0 :(得分:1)

这一行有几个问题:

$file=chmod($cachefile, 777);
  1. 此时,该文件可能不存在,因此可能会显示错误(您无法对不存在的文件执行chmod)。

  2. chmod()将返回truefalse。您之后尝试在代码中使用此返回值,并保存在$file变量中。

  3. 如果cache文件夹是可写的,这应该有效:

       $cachefile ='cache/cache.txt';
       if (file_exists($cachefile)) {
           include($cachefile); 
       } 
       else {
           $fp = fopen($cachefile, 'w');    
           fwrite($fp, ob_get_contents());
           fclose($fp);
           ob_end_flush();
       }